Merge remote-tracking branch 'andy128k/master'
[cl-gtk2.git] / gdk / gdk.pango.lisp
blobd0408ed7795515aedb3a9a2e6a839b7b35431635
1 (in-package :gdk)
3 (define-g-object-class "GdkPangoRenderer" gdk-pango-renderer
4 (:superclass pango-renderer :export t
5 :interfaces nil :type-initializer
6 "gdk_pango_renderer_get_type")
7 ((screen gdk-pango-renderer-screen "screen"
8 "GdkScreen" t nil)))
10 (defcfun gdk-pango-renderer-new (g-object gdk-pango-renderer :already-referenced)
11 (screen (g-object screen)))
13 (export 'gdk-pango-renderer-new)
15 (defcfun gdk-pango-renderer-get-default (g-object gdk-pango-renderer)
16 (screen (g-object screen)))
18 (export 'gdk-pango-renderer-get-default)
20 (defcfun gdk-pango-renderer-set-drawable :void
21 (renderer (g-object gdk-pango-renderer))
22 (drawable (g-object drawable)))
24 (export 'gdk-pango-renderer-set-drawable)
26 (defcfun gdk-pango-renderer-set-gc :void
27 (renderer (g-object gdk-pango-renderer))
28 (gc (g-object graphics-context)))
30 (export 'gdk-pango-renderer-set-gc)
32 (defcfun gdk-pango-renderer-set-stipple :void
33 (renderer (g-object gdk-pango-renderer))
34 (part pango-render-part)
35 (stipple (g-object pixmap)))
37 (export 'gdk-pango-renderer-set-stipple)
39 (defcfun gdk-pango-renderer-set-override-color :void
40 (renderer (g-object gdk-pango-renderer))
41 (part pango-render-part)
42 (color (g-boxed-foreign color)))
44 (export 'gdk-pango-renderer-set-override-color)
46 (defcfun gdk-pango-context-get (g-object pango-context :already-referenced))
48 (export 'gdk-pango-context-get)
50 (defcfun gdk-pango-context-get-for-screen (g-object pango-context :already-referenced)
51 (screen (g-object screen)))
53 (export 'gdk-pango-context-get-for-screen)
55 ;; ignored:
56 ;; void gdk_pango_context_set_colormap (PangoContext *context,
57 ;; GdkColormap *colormap);
59 ;; TODO:
60 ;; GdkPangoAttrEmbossed;
61 ;; GdkPangoAttrEmbossColor;
62 ;; GdkPangoAttrStipple;
63 ;; PangoAttribute * gdk_pango_attr_emboss_color_new (const GdkColor *color);
64 ;; PangoAttribute * gdk_pango_attr_embossed_new (gboolean embossed);
65 ;; PangoAttribute * gdk_pango_attr_stipple_new (GdkBitmap *stipple);
67 (defcfun gdk_pango_layout_get_clip_region (g-boxed-foreign region :return)
68 (layout (g-object pango-layout))
69 (x-origin :int)
70 (y-origin :int)
71 (index-ranges (:pointer :int))
72 (n-ranges :int))
74 (defun gdk-pango-layout-get-clip-region (layout x-origin y-origin index-ranges)
75 (let ((n (length index-ranges)))
76 (assert (zerop (mod n 2)))
77 (let ((n-ranges (/ n 2)))
78 (with-foreign-object (ranges :int n)
79 (let ((i 0))
80 (map nil
81 (lambda (x)
82 (setf (mem-aref ranges :int i) x)
83 (incf i))
84 index-ranges))
85 (gdk_pango_layout_get_clip_region layout x-origin y-origin index-ranges n-ranges)))))
87 (export 'gdk-pango-layout-get-clip-region)
89 (defcfun gdk_pango_layout_line_get_clip_region (g-boxed-foreign region :return)
90 (layout-line (g-boxed-foreign pango-layout-line))
91 (x-origin :int)
92 (y-origin :int)
93 (index-ranges (:pointer :int))
94 (n-ranges :int))
96 (defun gdk-pango-layout-line-get-clip-region (layout-line x-origin y-origin index-ranges)
97 (let ((n (length index-ranges)))
98 (assert (zerop (mod n 2)))
99 (let ((n-ranges (/ n 2)))
100 (with-foreign-object (ranges :int n)
101 (let ((i 0))
102 (map nil
103 (lambda (x)
104 (setf (mem-aref ranges :int i) x)
105 (incf i))
106 index-ranges))
107 (gdk_pango_layout_line_get_clip_region layout-line x-origin y-origin index-ranges n-ranges)))))
109 (export 'gdk-pango-layout-line-get-clip-region)