1// included by gdk2.pp 2 3{$IFDEF read_forward_definitions} 4 PGdkPangoRenderer = ^TGdkPangoRenderer; 5{$ENDIF read_forward_definitions} 6 7//------------------------------------------------------------------------------ 8 9{$IFDEF read_interface_types} 10 PGdkPangoRendererPrivate = ^TGdkPangoRendererPrivate; 11 12 TGdkPangoRenderer = record 13 // private 14 parent_instance: TPangoRenderer; 15 16 priv: PGdkPangoRendererPrivate; 17 end; 18 19 20 PGdkPangoRendererClass = ^TGdkPangoRendererClass; 21 TGdkPangoRendererClass = record 22 // private 23 parent_class: TPangoRendererClass; 24 end; 25 26 TGdkPangoRendererPrivate = record 27 screen: PGdkScreen; 28 29 // GdkPangoRenderer specific state 30 override_color: array[TPangoRenderPart] of TPangoColor; 31 override_color_set: array[TPangoRenderPart] of gboolean; 32 33 stipple: array[TPangoRenderPart] of PGdkBitmap; 34 emboss_color: TPangoColor; 35 embossed: gboolean; 36 37 // cr: Pcairo_t; 38 // last_part: TPangoRenderPart; 39 40 // Current target 41 // drawable: PGdkDrawable; 42 // base_gc: PGdkGC; 43 44 // gc_changed: gboolean; 45 end; 46 47{ Attributes use to render insensitive text in GTK+. } 48 PGdkPangoAttrStipple = ^TGdkPangoAttrStipple; 49 TGdkPangoAttrStipple = record 50 attr : TPangoAttribute; 51 stipple : PGdkBitmap; 52 end; 53 54 PGdkPangoAttrEmbossed = ^TGdkPangoAttrEmbossed; 55 TGdkPangoAttrEmbossed = record 56 attr : TPangoAttribute; 57 embossed : gboolean; 58 end; 59 60 61{$ENDIF read_interface_types} 62 63//------------------------------------------------------------------------------ 64 65{$IFDEF read_interface_rest} 66 67{ Pango renderer } 68 69function GDK_TYPE_PANGO_RENDERER: GType; 70function GDK_PANGO_RENDERER(anObject: pointer): PGdkPangoRenderer; 71function GDK_IS_PANGO_RENDERER(anObject: pointer): boolean; 72function GDK_PANGO_RENDERER_CLASS(klass: pointer): PGdkPangoRendererClass; 73function GDK_IS_PANGO_RENDERER_CLASS(klass: pointer): boolean; 74function GDK_PANGO_RENDERER_GET_CLASS(obj: pointer): PGdkPangoRendererClass; 75 76function gdk_pango_renderer_get_type: GType; cdecl; external gdklib; 77function gdk_pango_renderer_new(screen:PGdkScreen):PGdkPangoRenderer; cdecl; external gdklib; 78function gdk_pango_renderer_get_default(screen:PGdkScreen):PGdkPangoRenderer; cdecl; external gdklib; 79procedure gdk_pango_renderer_set_drawable(gdk_renderer:PGdkPangoRenderer; drawable:PGdkDrawable); cdecl; external gdklib; 80procedure gdk_pango_renderer_set_gc(gdk_renderer:PGdkPangoRenderer; gc:PGdkGC); cdecl; external gdklib; 81procedure gdk_pango_renderer_set_stipple(gdk_renderer:PGdkPangoRenderer; part:TPangoRenderPart; stipple:PGdkBitmap); cdecl; external gdklib; 82procedure gdk_pango_renderer_set_override_color(gdk_renderer:PGdkPangoRenderer; part:TPangoRenderPart; color:PGdkColor); cdecl; external gdklib; 83 84{ Pango interaction } 85 86function gdk_pango_context_get_for_screen(screen:PGdkScreen):PPangoContext; cdecl; external gdklib; 87 88{$ifndef GDK_MULTIHEAD_SAFE} 89function gdk_pango_context_get:PPangoContext; cdecl; external gdklib; 90{$endif} 91 92procedure gdk_pango_context_set_colormap(context:PPangoContext; colormap:PGdkColormap); cdecl; external gdklib; 93 94{ Get a clip region to draw only part of a layout or 95 line. index_ranges contains alternating range starts/stops. The 96 region is the region which contains the given ranges, i.e. if you 97 draw with the region as clip, only the given ranges are drawn. 98 } 99function gdk_pango_layout_line_get_clip_region(line:PPangoLayoutLine; x_origin:gint; y_origin:gint; index_ranges:Pgint; n_ranges:gint):PGdkRegion; cdecl; external gdklib; 100function gdk_pango_layout_get_clip_region(layout:PPangoLayout; x_origin:gint; y_origin:gint; index_ranges:Pgint; n_ranges:gint):PGdkRegion; cdecl; external gdklib; 101 102function gdk_pango_attr_stipple_new(stipple:PGdkBitmap):PPangoAttribute; cdecl; external gdklib; 103function gdk_pango_attr_embossed_new(embossed:gboolean):PPangoAttribute; cdecl; external gdklib; 104{$endif read_interface_rest} 105 106//------------------------------------------------------------------------------ 107 108{$IFDEF read_implementation} 109function GDK_TYPE_PANGO_RENDERER: GType; 110begin 111 GDK_TYPE_PANGO_RENDERER:=gdk_pango_renderer_get_type; 112end; 113 114function GDK_PANGO_RENDERER(anObject: pointer): PGdkPangoRenderer; 115begin 116 GDK_PANGO_RENDERER:=PGdkPangoRenderer(G_TYPE_CHECK_INSTANCE_CAST(anObject,GDK_TYPE_PANGO_RENDERER)); 117end; 118 119function GDK_IS_PANGO_RENDERER(anObject: pointer): boolean; 120begin 121 GDK_IS_PANGO_RENDERER:=G_TYPE_CHECK_INSTANCE_TYPE(anObject,GDK_TYPE_PANGO_RENDERER); 122end; 123 124function GDK_PANGO_RENDERER_CLASS(klass: pointer): PGdkPangoRendererClass; 125begin 126 GDK_PANGO_RENDERER_CLASS:=PGdkPangoRendererClass(G_TYPE_CHECK_CLASS_CAST(klass,GDK_TYPE_PANGO_RENDERER)); 127end; 128 129function GDK_IS_PANGO_RENDERER_CLASS(klass: pointer) : boolean; 130begin 131 GDK_IS_PANGO_RENDERER_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GDK_TYPE_PANGO_RENDERER); 132end; 133 134function GDK_PANGO_RENDERER_GET_CLASS(obj: pointer): PGdkPangoRendererClass; 135begin 136 GDK_PANGO_RENDERER_GET_CLASS:=PGdkPangoRendererClass(G_TYPE_INSTANCE_GET_CLASS(obj,GDK_TYPE_PANGO_RENDERER)); 137end; 138{$ENDIF} 139