forked from dmitryvk/cl-gtk2
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgdk.pango.lisp
109 lines (84 loc) · 3.58 KB
/
gdk.pango.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
(in-package :gdk)
(define-g-object-class "GdkPangoRenderer" gdk-pango-renderer
(:superclass pango-renderer :export t
:interfaces nil :type-initializer
"gdk_pango_renderer_get_type")
((screen gdk-pango-renderer-screen "screen"
"GdkScreen" t nil)))
(defcfun gdk-pango-renderer-new (g-object gdk-pango-renderer :already-referenced)
(screen (g-object screen)))
(export 'gdk-pango-renderer-new)
(defcfun gdk-pango-renderer-get-default (g-object gdk-pango-renderer)
(screen (g-object screen)))
(export 'gdk-pango-renderer-get-default)
(defcfun gdk-pango-renderer-set-drawable :void
(renderer (g-object gdk-pango-renderer))
(drawable (g-object drawable)))
(export 'gdk-pango-renderer-set-drawable)
(defcfun gdk-pango-renderer-set-gc :void
(renderer (g-object gdk-pango-renderer))
(gc (g-object graphics-context)))
(export 'gdk-pango-renderer-set-gc)
(defcfun gdk-pango-renderer-set-stipple :void
(renderer (g-object gdk-pango-renderer))
(part pango-render-part)
(stipple (g-object pixmap)))
(export 'gdk-pango-renderer-set-stipple)
(defcfun gdk-pango-renderer-set-override-color :void
(renderer (g-object gdk-pango-renderer))
(part pango-render-part)
(color (g-boxed-foreign color)))
(export 'gdk-pango-renderer-set-override-color)
(defcfun gdk-pango-context-get (g-object pango-context :already-referenced))
(export 'gdk-pango-context-get)
(defcfun gdk-pango-context-get-for-screen (g-object pango-context :already-referenced)
(screen (g-object screen)))
(export 'gdk-pango-context-get-for-screen)
;; ignored:
;; void gdk_pango_context_set_colormap (PangoContext *context,
;; GdkColormap *colormap);
;; TODO:
;; GdkPangoAttrEmbossed;
;; GdkPangoAttrEmbossColor;
;; GdkPangoAttrStipple;
;; PangoAttribute * gdk_pango_attr_emboss_color_new (const GdkColor *color);
;; PangoAttribute * gdk_pango_attr_embossed_new (gboolean embossed);
;; PangoAttribute * gdk_pango_attr_stipple_new (GdkBitmap *stipple);
(defcfun gdk_pango_layout_get_clip_region (g-boxed-foreign region :return)
(layout (g-object pango-layout))
(x-origin :int)
(y-origin :int)
(index-ranges (:pointer :int))
(n-ranges :int))
(defun gdk-pango-layout-get-clip-region (layout x-origin y-origin index-ranges)
(let ((n (length index-ranges)))
(assert (zerop (mod n 2)))
(let ((n-ranges (/ n 2)))
(with-foreign-object (ranges :int n)
(let ((i 0))
(map nil
(lambda (x)
(setf (mem-aref ranges :int i) x)
(incf i))
index-ranges))
(gdk_pango_layout_get_clip_region layout x-origin y-origin index-ranges n-ranges)))))
(export 'gdk-pango-layout-get-clip-region)
(defcfun gdk_pango_layout_line_get_clip_region (g-boxed-foreign region :return)
(layout-line (g-boxed-foreign pango-layout-line))
(x-origin :int)
(y-origin :int)
(index-ranges (:pointer :int))
(n-ranges :int))
(defun gdk-pango-layout-line-get-clip-region (layout-line x-origin y-origin index-ranges)
(let ((n (length index-ranges)))
(assert (zerop (mod n 2)))
(let ((n-ranges (/ n 2)))
(with-foreign-object (ranges :int n)
(let ((i 0))
(map nil
(lambda (x)
(setf (mem-aref ranges :int i) x)
(incf i))
index-ranges))
(gdk_pango_layout_line_get_clip_region layout-line x-origin y-origin index-ranges n-ranges)))))
(export 'gdk-pango-layout-line-get-clip-region)