|
Packit |
98cdb6 |
/* GDK - The GIMP Drawing Kit
|
|
Packit |
98cdb6 |
* Copyright (C) 2000 Red Hat, Inc.
|
|
Packit |
98cdb6 |
*
|
|
Packit |
98cdb6 |
* This library is free software; you can redistribute it and/or
|
|
Packit |
98cdb6 |
* modify it under the terms of the GNU Lesser General Public
|
|
Packit |
98cdb6 |
* License as published by the Free Software Foundation; either
|
|
Packit |
98cdb6 |
* version 2 of the License, or (at your option) any later version.
|
|
Packit |
98cdb6 |
*
|
|
Packit |
98cdb6 |
* This library is distributed in the hope that it will be useful,
|
|
Packit |
98cdb6 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
98cdb6 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
98cdb6 |
* Lesser General Public License for more details.
|
|
Packit |
98cdb6 |
*
|
|
Packit |
98cdb6 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
98cdb6 |
* License along with this library; if not, write to the
|
|
Packit |
98cdb6 |
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
Packit |
98cdb6 |
* Boston, MA 02111-1307, USA.
|
|
Packit |
98cdb6 |
*/
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
#ifndef __GDK_PANGO_H__
|
|
Packit |
98cdb6 |
#define __GDK_PANGO_H__
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
|
|
Packit |
98cdb6 |
#error "Only <gdk/gdk.h> can be included directly."
|
|
Packit |
98cdb6 |
#endif
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
#include <gdk/gdktypes.h>
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
G_BEGIN_DECLS
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
/* Pango interaction */
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
typedef struct _GdkPangoRenderer GdkPangoRenderer;
|
|
Packit |
98cdb6 |
typedef struct _GdkPangoRendererClass GdkPangoRendererClass;
|
|
Packit |
98cdb6 |
typedef struct _GdkPangoRendererPrivate GdkPangoRendererPrivate;
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
#define GDK_TYPE_PANGO_RENDERER (gdk_pango_renderer_get_type())
|
|
Packit |
98cdb6 |
#define GDK_PANGO_RENDERER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_PANGO_RENDERER, GdkPangoRenderer))
|
|
Packit |
98cdb6 |
#define GDK_IS_PANGO_RENDERER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PANGO_RENDERER))
|
|
Packit |
98cdb6 |
#define GDK_PANGO_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PANGO_RENDERER, GdkPangoRendererClass))
|
|
Packit |
98cdb6 |
#define GDK_IS_PANGO_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PANGO_RENDERER))
|
|
Packit |
98cdb6 |
#define GDK_PANGO_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PANGO_RENDERER, GdkPangoRendererClass))
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
/**
|
|
Packit |
98cdb6 |
* GdkPangoRenderer:
|
|
Packit |
98cdb6 |
*
|
|
Packit |
98cdb6 |
* #GdkPangoRenderer is a subclass of #PangoRenderer used for rendering
|
|
Packit |
98cdb6 |
* Pango objects into GDK drawables. The default renderer for a particular
|
|
Packit |
98cdb6 |
* screen is obtained with gdk_pango_renderer_get_default(); Pango
|
|
Packit |
98cdb6 |
* functions like pango_renderer_draw_layout() and
|
|
Packit |
98cdb6 |
* pango_renderer_draw_layout_line() are then used to draw objects with
|
|
Packit |
98cdb6 |
* the renderer.
|
|
Packit |
98cdb6 |
*
|
|
Packit |
98cdb6 |
* In most simple cases, applications can just use gdk_draw_layout(), and
|
|
Packit |
98cdb6 |
* don't need to directly use #GdkPangoRenderer at all. Using the
|
|
Packit |
98cdb6 |
* #GdkPangoRenderer directly is most useful when working with a
|
|
Packit |
98cdb6 |
* transformation such as a rotation, because the Pango drawing functions
|
|
Packit |
98cdb6 |
* take user space coordinates (coordinates before the transformation)
|
|
Packit |
98cdb6 |
* instead of device coordinates.
|
|
Packit |
98cdb6 |
*
|
|
Packit |
98cdb6 |
* In certain cases it can be useful to subclass #GdkPangoRenderer. Examples
|
|
Packit |
98cdb6 |
* of reasons to do this are to add handling of custom attributes by
|
|
Packit |
98cdb6 |
* overriding 'prepare_run' or to do custom drawing of embedded objects
|
|
Packit |
98cdb6 |
* by overriding 'draw_shape'.
|
|
Packit |
98cdb6 |
*
|
|
Packit |
98cdb6 |
* Since: 2.6
|
|
Packit |
98cdb6 |
**/
|
|
Packit |
98cdb6 |
struct _GdkPangoRenderer
|
|
Packit |
98cdb6 |
{
|
|
Packit |
98cdb6 |
/*< private >*/
|
|
Packit |
98cdb6 |
PangoRenderer parent_instance;
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
GdkPangoRendererPrivate *priv;
|
|
Packit |
98cdb6 |
};
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
/**
|
|
Packit |
98cdb6 |
* GdkPangoRendererClass:
|
|
Packit |
98cdb6 |
*
|
|
Packit |
98cdb6 |
* #GdkPangoRenderer is the class structure for #GdkPangoRenderer.
|
|
Packit |
98cdb6 |
*
|
|
Packit |
98cdb6 |
* Since: 2.6
|
|
Packit |
98cdb6 |
**/
|
|
Packit |
98cdb6 |
struct _GdkPangoRendererClass
|
|
Packit |
98cdb6 |
{
|
|
Packit |
98cdb6 |
/*< private >*/
|
|
Packit |
98cdb6 |
PangoRendererClass parent_class;
|
|
Packit |
98cdb6 |
};
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
GType gdk_pango_renderer_get_type (void) G_GNUC_CONST;
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
PangoRenderer *gdk_pango_renderer_new (GdkScreen *screen);
|
|
Packit |
98cdb6 |
PangoRenderer *gdk_pango_renderer_get_default (GdkScreen *screen);
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
void gdk_pango_renderer_set_drawable (GdkPangoRenderer *gdk_renderer,
|
|
Packit |
98cdb6 |
GdkDrawable *drawable);
|
|
Packit |
98cdb6 |
void gdk_pango_renderer_set_gc (GdkPangoRenderer *gdk_renderer,
|
|
Packit |
98cdb6 |
GdkGC *gc);
|
|
Packit |
98cdb6 |
void gdk_pango_renderer_set_stipple (GdkPangoRenderer *gdk_renderer,
|
|
Packit |
98cdb6 |
PangoRenderPart part,
|
|
Packit |
98cdb6 |
GdkBitmap *stipple);
|
|
Packit |
98cdb6 |
void gdk_pango_renderer_set_override_color (GdkPangoRenderer *gdk_renderer,
|
|
Packit |
98cdb6 |
PangoRenderPart part,
|
|
Packit |
98cdb6 |
const GdkColor *color);
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
/************************************************************************/
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
PangoContext *gdk_pango_context_get_for_screen (GdkScreen *screen);
|
|
Packit |
98cdb6 |
#ifndef GDK_MULTIHEAD_SAFE
|
|
Packit |
98cdb6 |
PangoContext *gdk_pango_context_get (void);
|
|
Packit |
98cdb6 |
#endif
|
|
Packit |
98cdb6 |
#ifndef GDK_DISABLE_DEPRECATED
|
|
Packit |
98cdb6 |
void gdk_pango_context_set_colormap (PangoContext *context,
|
|
Packit |
98cdb6 |
GdkColormap *colormap);
|
|
Packit |
98cdb6 |
#endif
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
/* Get a clip region to draw only part of a layout or
|
|
Packit |
98cdb6 |
* line. index_ranges contains alternating range starts/stops. The
|
|
Packit |
98cdb6 |
* region is the region which contains the given ranges, i.e. if you
|
|
Packit |
98cdb6 |
* draw with the region as clip, only the given ranges are drawn.
|
|
Packit |
98cdb6 |
*/
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
GdkRegion *gdk_pango_layout_line_get_clip_region (PangoLayoutLine *line,
|
|
Packit |
98cdb6 |
gint x_origin,
|
|
Packit |
98cdb6 |
gint y_origin,
|
|
Packit |
98cdb6 |
const gint *index_ranges,
|
|
Packit |
98cdb6 |
gint n_ranges);
|
|
Packit |
98cdb6 |
GdkRegion *gdk_pango_layout_get_clip_region (PangoLayout *layout,
|
|
Packit |
98cdb6 |
gint x_origin,
|
|
Packit |
98cdb6 |
gint y_origin,
|
|
Packit |
98cdb6 |
const gint *index_ranges,
|
|
Packit |
98cdb6 |
gint n_ranges);
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
/* Attributes use to render insensitive text in GTK+. */
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
typedef struct _GdkPangoAttrStipple GdkPangoAttrStipple;
|
|
Packit |
98cdb6 |
typedef struct _GdkPangoAttrEmbossed GdkPangoAttrEmbossed;
|
|
Packit |
98cdb6 |
typedef struct _GdkPangoAttrEmbossColor GdkPangoAttrEmbossColor;
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
struct _GdkPangoAttrStipple
|
|
Packit |
98cdb6 |
{
|
|
Packit |
98cdb6 |
PangoAttribute attr;
|
|
Packit |
98cdb6 |
GdkBitmap *stipple;
|
|
Packit |
98cdb6 |
};
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
struct _GdkPangoAttrEmbossed
|
|
Packit |
98cdb6 |
{
|
|
Packit |
98cdb6 |
PangoAttribute attr;
|
|
Packit |
98cdb6 |
gboolean embossed;
|
|
Packit |
98cdb6 |
};
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
struct _GdkPangoAttrEmbossColor
|
|
Packit |
98cdb6 |
{
|
|
Packit |
98cdb6 |
PangoAttribute attr;
|
|
Packit |
98cdb6 |
PangoColor color;
|
|
Packit |
98cdb6 |
};
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
PangoAttribute *gdk_pango_attr_stipple_new (GdkBitmap *stipple);
|
|
Packit |
98cdb6 |
PangoAttribute *gdk_pango_attr_embossed_new (gboolean embossed);
|
|
Packit |
98cdb6 |
PangoAttribute *gdk_pango_attr_emboss_color_new (const GdkColor *color);
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
G_END_DECLS
|
|
Packit |
98cdb6 |
|
|
Packit |
98cdb6 |
#endif /* __GDK_FONT_H__ */
|