libx11 0.2.0 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 854819b1ec364d4bbfcb3df95e7e7b33ef05cc8e
4
- data.tar.gz: b375827e9805d96cd316cd4e51306e52fb3fd61d
3
+ metadata.gz: 7705a04f8a306daf9b3cd5f406c2ed6c249aa790
4
+ data.tar.gz: d9e9a94ad572c6cee95e1a5be5b928aad35abe74
5
5
  SHA512:
6
- metadata.gz: 9e08a4440c2dce4a1e00923181ebb039070d6883b0413d244cea19f88b926c32d80883f211875f2fe9337d527b6f6eca9e74cba44c0ecc1b9f982816bd704fa3
7
- data.tar.gz: 9fe9991a6b16c20d734feadf30d7c81f97598d27da732b887bf0806273c0b909b57163486dde20860707860bbd41de7e2ae58b64d3e23ddbcf5ad6185f82e9f3
6
+ metadata.gz: c55ea041639fa712d830d8f10fbabd53249ff4a8d937fbd32663c53857bba46cb230d91016664cfc11df0296c880b80775f64fa4428794eb07b139fbd9c3ddea
7
+ data.tar.gz: bdd2d83e6cfb66f2923df4c55c36f2a287c505ec4c7e370cb119b09f5e716c10030ee64b974d9e951ae9d1ce08655d536f7779467cddb82dd48189dd1c814722
@@ -15,12 +15,23 @@ class FFIGenerator
15
15
 
16
16
  def initialize(decls)
17
17
  @decls = decls
18
+ @printed = []
18
19
  end
19
20
 
20
21
  def print_ffi
21
22
  @decls.each do |decl|
22
- puts ffi_by_decl(decl)
23
+ @printed << ffi_by_decl(decl)
23
24
  end
25
+
26
+ source = File.read('lib/libx11/xlib.rb')
27
+ source = source.gsub(/^ attach_function [^\n]+\n/m, '').sub(/ end\nend\n?\z/, '')
28
+
29
+ result = source + " " + @printed.join("\n ") + <<~SUFFIX
30
+
31
+ end
32
+ end
33
+ SUFFIX
34
+ File.write('lib/libx11/xlib.rb', result)
24
35
  end
25
36
 
26
37
  private
@@ -3,7 +3,75 @@ module Typesym
3
3
  type = type.gsub(/ +\*\z/, '*').gsub(/ +\*\*\z/, '**')
4
4
  case type
5
5
  when 'Display*', 'XKeyEvent*', 'XEvent*', 'XMappingEvent*',
6
- 'XGenericEventCookie*', 'Depth*', 'XFontProp*'
6
+ 'XGenericEventCookie*', 'Depth*', 'XFontProp*',
7
+ 'XExtCodes*',
8
+ 'XPixmapFormatValues*',
9
+ 'XGCValues*',
10
+ 'Visual*',
11
+ 'Depth*',
12
+ 'Screen*',
13
+ 'ScreenFormat*',
14
+ 'XSetWindowAttributes*',
15
+ 'XWindowAttributes*',
16
+ 'XHostAddress*',
17
+ 'XServerInterpretedAddress*',
18
+ 'XWindowChanges*',
19
+ 'XColor*',
20
+ 'XSegment*',
21
+ 'XPoint*',
22
+ 'XRectangle*',
23
+ 'XArc*',
24
+ 'XKeyboardControl*',
25
+ 'XKeyboardState*',
26
+ 'XTimeCoord*',
27
+ 'XModifierKeymap*',
28
+ 'XKeyEvent*',
29
+ 'XButtonEvent*',
30
+ 'XMotionEvent*',
31
+ 'XCrossingEvent*',
32
+ 'XFocusChangeEvent*',
33
+ 'XKeymapEvent*',
34
+ 'XExposeEvent*',
35
+ 'XGraphicsExposeEvent*',
36
+ 'XNoExposeEvent*',
37
+ 'XVisibilityEvent*',
38
+ 'XCreateWindowEvent*',
39
+ 'XDestroyWindowEvent*',
40
+ 'XUnmapEvent*',
41
+ 'XMapEvent*',
42
+ 'XMapRequestEvent*',
43
+ 'XReparentEvent*',
44
+ 'XConfigureEvent*',
45
+ 'XGravityEvent*',
46
+ 'XResizeRequestEvent*',
47
+ 'XConfigureRequestEvent*',
48
+ 'XCirculateEvent*',
49
+ 'XCirculateRequestEvent*',
50
+ 'XPropertyEvent*',
51
+ 'XSelectionClearEvent*',
52
+ 'XSelectionRequestEvent*',
53
+ 'XSelectionEvent*',
54
+ 'XColormapEvent*',
55
+ 'XMappingEvent*',
56
+ 'XErrorEvent*',
57
+ 'XAnyEvent*',
58
+ 'XGenericEventCookie*',
59
+ 'XCharStruct*',
60
+ 'XFontProp*',
61
+ 'XFontStruct*',
62
+ 'XTextItem*',
63
+ 'XChar2b*',
64
+ 'XTextItem16*',
65
+ 'XFontSetExtents*',
66
+ 'XmbTextItem*',
67
+ 'XwcTextItem*',
68
+ 'XOMCharSetList*',
69
+ 'XOMOrientation*',
70
+ 'XOMFontInfo*',
71
+ 'XIMStyles*',
72
+ 'XIMCallback*',
73
+ 'XICCallback*',
74
+ 'XIMValuesList*'
7
75
  type.sub(/ ?\*\z/, '').concat('.ptr')
8
76
  when 'XFontStruct*', 'XTimeCoord*', 'XModifierKeymap*', 'Visual*', 'XImage*',
9
77
  'XColor*', 'XGCValues*', 'XSetWindowAttributes*', 'XHostAddress*', 'Screen*',
@@ -1,3 +1,3 @@
1
1
  module LibX11
2
- VERSION = '0.2.0'
2
+ VERSION = '0.2.2'
3
3
  end
@@ -42,10 +42,10 @@ module LibX11
42
42
  ]
43
43
 
44
44
  require 'libx11/xlib/x_edata_object'
45
+ require 'libx11/xlib/visual'
45
46
  require 'libx11/xlib/depth'
46
47
  require 'libx11/xlib/screen'
47
48
  require 'libx11/xlib/screen_format'
48
- require 'libx11/xlib/visual'
49
49
  require 'libx11/xlib/x_arc'
50
50
  require 'libx11/xlib/x_char2b'
51
51
  require 'libx11/xlib/x_char_struct'
@@ -80,12 +80,12 @@ module LibX11
80
80
  require 'libx11/xlib/xom_orientation'
81
81
  require 'libx11/xlib/xwc_text_item'
82
82
 
83
- attach_function :XLoadQueryFont, [Display.ptr, :string], :pointer
84
- attach_function :XQueryFont, [Display.ptr, :XID], :pointer
85
- attach_function :XGetMotionEvents, [Display.ptr, :Window, :Time, :Time, :pointer], :pointer
86
- attach_function :XDeleteModifiermapEntry, [:pointer, :KeyCode, :int], :pointer
87
- attach_function :XNewModifiermap, [:int], :pointer
88
- attach_function :XCreateImage, [Display.ptr, :pointer, :uint, :int, :int, :string, :uint, :uint, :int, :int], :pointer
83
+ attach_function :XLoadQueryFont, [Display.ptr, :string], XFontStruct.ptr
84
+ attach_function :XQueryFont, [Display.ptr, :XID], XFontStruct.ptr
85
+ attach_function :XGetMotionEvents, [Display.ptr, :Window, :Time, :Time, :pointer], XTimeCoord.ptr
86
+ attach_function :XDeleteModifiermapEntry, [XModifierKeymap.ptr, :KeyCode, :int], XModifierKeymap.ptr
87
+ attach_function :XNewModifiermap, [:int], XModifierKeymap.ptr
88
+ attach_function :XCreateImage, [Display.ptr, Visual.ptr, :uint, :int, :int, :string, :uint, :uint, :int, :int], :pointer
89
89
  attach_function :XInitImage, [:pointer], :Status
90
90
  attach_function :XGetImage, [Display.ptr, :Drawable, :int, :int, :uint, :uint, :ulong, :int], :pointer
91
91
  attach_function :XGetSubImage, [Display.ptr, :Drawable, :int, :int, :uint, :uint, :ulong, :int, :pointer, :int, :int], :pointer
@@ -101,12 +101,12 @@ module LibX11
101
101
  attach_function :XInternAtom, [Display.ptr, :string, :bool], :Atom
102
102
  attach_function :XInternAtoms, [Display.ptr, :pointer, :int, :bool, :pointer], :Status
103
103
  attach_function :XCopyColormapAndFree, [Display.ptr, :Colormap], :Colormap
104
- attach_function :XCreateColormap, [Display.ptr, :Window, :pointer, :int], :Colormap
105
- attach_function :XCreatePixmapCursor, [Display.ptr, :Pixmap, :Pixmap, :pointer, :pointer, :uint, :uint], :Cursor
106
- attach_function :XCreateGlyphCursor, [Display.ptr, :Font, :Font, :uint, :uint, :pointer, :pointer], :Cursor
104
+ attach_function :XCreateColormap, [Display.ptr, :Window, Visual.ptr, :int], :Colormap
105
+ attach_function :XCreatePixmapCursor, [Display.ptr, :Pixmap, :Pixmap, XColor.ptr, XColor.ptr, :uint, :uint], :Cursor
106
+ attach_function :XCreateGlyphCursor, [Display.ptr, :Font, :Font, :uint, :uint, XColor.ptr, XColor.ptr], :Cursor
107
107
  attach_function :XCreateFontCursor, [Display.ptr, :uint], :Cursor
108
108
  attach_function :XLoadFont, [Display.ptr, :string], :Font
109
- attach_function :XCreateGC, [Display.ptr, :Drawable, :ulong, :pointer], :GC
109
+ attach_function :XCreateGC, [Display.ptr, :Drawable, :ulong, XGCValues.ptr], :GC
110
110
  attach_function :XGContextFromGC, [:GC], :GContext
111
111
  attach_function :XFlushGC, [Display.ptr, :GC], :void
112
112
  attach_function :XCreatePixmap, [Display.ptr, :Drawable, :uint, :uint, :uint], :Pixmap
@@ -114,14 +114,14 @@ module LibX11
114
114
  attach_function :XCreatePixmapFromBitmapData, [Display.ptr, :Drawable, :string, :uint, :uint, :ulong, :ulong, :uint], :Pixmap
115
115
  attach_function :XCreateSimpleWindow, [Display.ptr, :Window, :int, :int, :uint, :uint, :uint, :ulong, :ulong], :Window
116
116
  attach_function :XGetSelectionOwner, [Display.ptr, :Atom], :Window
117
- attach_function :XCreateWindow, [Display.ptr, :Window, :int, :int, :uint, :uint, :uint, :int, :uint, :pointer, :ulong, :pointer], :Window
117
+ attach_function :XCreateWindow, [Display.ptr, :Window, :int, :int, :uint, :uint, :uint, :int, :uint, Visual.ptr, :ulong, XSetWindowAttributes.ptr], :Window
118
118
  attach_function :XListInstalledColormaps, [Display.ptr, :Window, :pointer], :pointer
119
119
  attach_function :XListFonts, [Display.ptr, :string, :int, :pointer], :pointer
120
120
  attach_function :XListFontsWithInfo, [Display.ptr, :string, :int, :pointer, :pointer], :pointer
121
121
  attach_function :XGetFontPath, [Display.ptr, :pointer], :pointer
122
122
  attach_function :XListExtensions, [Display.ptr, :pointer], :pointer
123
123
  attach_function :XListProperties, [Display.ptr, :Window, :pointer], :pointer
124
- attach_function :XListHosts, [Display.ptr, :pointer, :pointer], :pointer
124
+ attach_function :XListHosts, [Display.ptr, :pointer, :pointer], XHostAddress.ptr
125
125
  attach_function :XKeycodeToKeysym, [Display.ptr, :KeyCode, :int], :KeySym
126
126
  attach_function :XLookupKeysym, [XKeyEvent.ptr, :int], :KeySym
127
127
  attach_function :XGetKeyboardMapping, [Display.ptr, :KeyCode, :int, :pointer], :pointer
@@ -129,44 +129,44 @@ module LibX11
129
129
  attach_function :XMaxRequestSize, [Display.ptr], :long
130
130
  attach_function :XExtendedMaxRequestSize, [Display.ptr], :long
131
131
  attach_function :XResourceManagerString, [Display.ptr], :string
132
- attach_function :XScreenResourceString, [:pointer], :string
132
+ attach_function :XScreenResourceString, [Screen.ptr], :string
133
133
  attach_function :XDisplayMotionBufferSize, [Display.ptr], :ulong
134
- attach_function :XVisualIDFromVisual, [:pointer], :VisualID
134
+ attach_function :XVisualIDFromVisual, [Visual.ptr], :VisualID
135
135
  attach_function :XInitThreads, [], :Status
136
136
  attach_function :XLockDisplay, [Display.ptr], :void
137
137
  attach_function :XUnlockDisplay, [Display.ptr], :void
138
- attach_function :XInitExtension, [Display.ptr, :string], :pointer
139
- attach_function :XAddExtension, [Display.ptr], :pointer
138
+ attach_function :XInitExtension, [Display.ptr, :string], XExtCodes.ptr
139
+ attach_function :XAddExtension, [Display.ptr], XExtCodes.ptr
140
140
  attach_function :XFindOnExtensionList, [:pointer, :int], :pointer
141
141
  attach_function :XEHeadOfExtensionList, [XEDataObject.by_value], :pointer
142
142
  attach_function :XRootWindow, [Display.ptr, :int], :Window
143
143
  attach_function :XDefaultRootWindow, [Display.ptr], :Window
144
- attach_function :XRootWindowOfScreen, [:pointer], :Window
145
- attach_function :XDefaultVisual, [Display.ptr, :int], :pointer
146
- attach_function :XDefaultVisualOfScreen, [:pointer], :pointer
144
+ attach_function :XRootWindowOfScreen, [Screen.ptr], :Window
145
+ attach_function :XDefaultVisual, [Display.ptr, :int], Visual.ptr
146
+ attach_function :XDefaultVisualOfScreen, [Screen.ptr], Visual.ptr
147
147
  attach_function :XDefaultGC, [Display.ptr, :int], :GC
148
- attach_function :XDefaultGCOfScreen, [:pointer], :GC
148
+ attach_function :XDefaultGCOfScreen, [Screen.ptr], :GC
149
149
  attach_function :XBlackPixel, [Display.ptr, :int], :ulong
150
150
  attach_function :XWhitePixel, [Display.ptr, :int], :ulong
151
151
  attach_function :XAllPlanes, [], :ulong
152
- attach_function :XBlackPixelOfScreen, [:pointer], :ulong
153
- attach_function :XWhitePixelOfScreen, [:pointer], :ulong
152
+ attach_function :XBlackPixelOfScreen, [Screen.ptr], :ulong
153
+ attach_function :XWhitePixelOfScreen, [Screen.ptr], :ulong
154
154
  attach_function :XNextRequest, [Display.ptr], :ulong
155
155
  attach_function :XLastKnownRequestProcessed, [Display.ptr], :ulong
156
156
  attach_function :XServerVendor, [Display.ptr], :string
157
157
  attach_function :XDisplayString, [Display.ptr], :string
158
158
  attach_function :XDefaultColormap, [Display.ptr, :int], :Colormap
159
- attach_function :XDefaultColormapOfScreen, [:pointer], :Colormap
160
- attach_function :XDisplayOfScreen, [:pointer], Display.ptr
161
- attach_function :XScreenOfDisplay, [Display.ptr, :int], :pointer
162
- attach_function :XDefaultScreenOfDisplay, [Display.ptr], :pointer
163
- attach_function :XEventMaskOfScreen, [:pointer], :long
164
- attach_function :XScreenNumberOfScreen, [:pointer], :int
159
+ attach_function :XDefaultColormapOfScreen, [Screen.ptr], :Colormap
160
+ attach_function :XDisplayOfScreen, [Screen.ptr], Display.ptr
161
+ attach_function :XScreenOfDisplay, [Display.ptr, :int], Screen.ptr
162
+ attach_function :XDefaultScreenOfDisplay, [Display.ptr], Screen.ptr
163
+ attach_function :XEventMaskOfScreen, [Screen.ptr], :long
164
+ attach_function :XScreenNumberOfScreen, [Screen.ptr], :int
165
165
  attach_function :XSetErrorHandler, [:XErrorHandler], :XErrorHandler
166
166
  attach_function :XSetIOErrorHandler, [:XIOErrorHandler], :XIOErrorHandler
167
- attach_function :XListPixmapFormats, [Display.ptr, :pointer], :pointer
167
+ attach_function :XListPixmapFormats, [Display.ptr, :pointer], XPixmapFormatValues.ptr
168
168
  attach_function :XListDepths, [Display.ptr, :int, :pointer], :pointer
169
- attach_function :XReconfigureWMWindow, [Display.ptr, :Window, :int, :uint, :pointer], :Status
169
+ attach_function :XReconfigureWMWindow, [Display.ptr, :Window, :int, :uint, XWindowChanges.ptr], :Status
170
170
  attach_function :XGetWMProtocols, [Display.ptr, :Window, :pointer, :pointer], :Status
171
171
  attach_function :XSetWMProtocols, [Display.ptr, :Window, :pointer, :int], :Status
172
172
  attach_function :XIconifyWindow, [Display.ptr, :Window, :int], :Status
@@ -177,14 +177,14 @@ module LibX11
177
177
  attach_function :XFreeStringList, [:pointer], :void
178
178
  attach_function :XSetTransientForHint, [Display.ptr, :Window, :Window], :int
179
179
  attach_function :XActivateScreenSaver, [Display.ptr], :int
180
- attach_function :XAddHost, [Display.ptr, :pointer], :int
181
- attach_function :XAddHosts, [Display.ptr, :pointer, :int], :int
180
+ attach_function :XAddHost, [Display.ptr, XHostAddress.ptr], :int
181
+ attach_function :XAddHosts, [Display.ptr, XHostAddress.ptr, :int], :int
182
182
  attach_function :XAddToExtensionList, [:pointer, :pointer], :int
183
183
  attach_function :XAddToSaveSet, [Display.ptr, :Window], :int
184
- attach_function :XAllocColor, [Display.ptr, :Colormap, :pointer], :Status
184
+ attach_function :XAllocColor, [Display.ptr, :Colormap, XColor.ptr], :Status
185
185
  attach_function :XAllocColorCells, [Display.ptr, :Colormap, :bool, :pointer, :uint, :pointer, :uint], :Status
186
186
  attach_function :XAllocColorPlanes, [Display.ptr, :Colormap, :bool, :pointer, :int, :int, :int, :int, :pointer, :pointer, :pointer], :Status
187
- attach_function :XAllocNamedColor, [Display.ptr, :Colormap, :string, :pointer, :pointer], :Status
187
+ attach_function :XAllocNamedColor, [Display.ptr, :Colormap, :string, XColor.ptr, XColor.ptr], :Status
188
188
  attach_function :XAllowEvents, [Display.ptr, :int, :Time], :int
189
189
  attach_function :XAutoRepeatOff, [Display.ptr], :int
190
190
  attach_function :XAutoRepeatOn, [Display.ptr], :int
@@ -192,15 +192,15 @@ module LibX11
192
192
  attach_function :XBitmapBitOrder, [Display.ptr], :int
193
193
  attach_function :XBitmapPad, [Display.ptr], :int
194
194
  attach_function :XBitmapUnit, [Display.ptr], :int
195
- attach_function :XCellsOfScreen, [:pointer], :int
195
+ attach_function :XCellsOfScreen, [Screen.ptr], :int
196
196
  attach_function :XChangeActivePointerGrab, [Display.ptr, :uint, :Cursor, :Time], :int
197
- attach_function :XChangeGC, [Display.ptr, :GC, :ulong, :pointer], :int
198
- attach_function :XChangeKeyboardControl, [Display.ptr, :ulong, :pointer], :int
197
+ attach_function :XChangeGC, [Display.ptr, :GC, :ulong, XGCValues.ptr], :int
198
+ attach_function :XChangeKeyboardControl, [Display.ptr, :ulong, XKeyboardControl.ptr], :int
199
199
  attach_function :XChangeKeyboardMapping, [Display.ptr, :int, :int, :pointer, :int], :int
200
200
  attach_function :XChangePointerControl, [Display.ptr, :bool, :bool, :int, :int, :int], :int
201
201
  attach_function :XChangeProperty, [Display.ptr, :Window, :Atom, :Atom, :int, :int, :pointer, :int], :int
202
202
  attach_function :XChangeSaveSet, [Display.ptr, :Window, :int], :int
203
- attach_function :XChangeWindowAttributes, [Display.ptr, :Window, :ulong, :pointer], :int
203
+ attach_function :XChangeWindowAttributes, [Display.ptr, :Window, :ulong, XSetWindowAttributes.ptr], :int
204
204
  attach_function :XCheckMaskEvent, [Display.ptr, :long, XEvent.ptr], :bool
205
205
  attach_function :XCheckTypedEvent, [Display.ptr, :int, XEvent.ptr], :bool
206
206
  attach_function :XCheckTypedWindowEvent, [Display.ptr, :Window, :int, XEvent.ptr], :bool
@@ -211,21 +211,21 @@ module LibX11
211
211
  attach_function :XClearArea, [Display.ptr, :Window, :int, :int, :uint, :uint, :bool], :int
212
212
  attach_function :XClearWindow, [Display.ptr, :Window], :int
213
213
  attach_function :XCloseDisplay, [Display.ptr], :int
214
- attach_function :XConfigureWindow, [Display.ptr, :Window, :uint, :pointer], :int
214
+ attach_function :XConfigureWindow, [Display.ptr, :Window, :uint, XWindowChanges.ptr], :int
215
215
  attach_function :XConnectionNumber, [Display.ptr], :int
216
216
  attach_function :XConvertSelection, [Display.ptr, :Atom, :Atom, :Atom, :Window, :Time], :int
217
217
  attach_function :XCopyArea, [Display.ptr, :Drawable, :Drawable, :GC, :int, :int, :uint, :uint, :int, :int], :int
218
218
  attach_function :XCopyGC, [Display.ptr, :GC, :ulong, :GC], :int
219
219
  attach_function :XCopyPlane, [Display.ptr, :Drawable, :Drawable, :GC, :int, :int, :uint, :uint, :int, :int, :ulong], :int
220
220
  attach_function :XDefaultDepth, [Display.ptr, :int], :int
221
- attach_function :XDefaultDepthOfScreen, [:pointer], :int
221
+ attach_function :XDefaultDepthOfScreen, [Screen.ptr], :int
222
222
  attach_function :XDefaultScreen, [Display.ptr], :int
223
223
  attach_function :XDefineCursor, [Display.ptr, :Window, :Cursor], :int
224
224
  attach_function :XDeleteProperty, [Display.ptr, :Window, :Atom], :int
225
225
  attach_function :XDestroyWindow, [Display.ptr, :Window], :int
226
226
  attach_function :XDestroySubwindows, [Display.ptr, :Window], :int
227
- attach_function :XDoesBackingStore, [:pointer], :int
228
- attach_function :XDoesSaveUnders, [:pointer], :bool
227
+ attach_function :XDoesBackingStore, [Screen.ptr], :int
228
+ attach_function :XDoesSaveUnders, [Screen.ptr], :bool
229
229
  attach_function :XDisableAccessControl, [Display.ptr], :int
230
230
  attach_function :XDisplayCells, [Display.ptr, :int], :int
231
231
  attach_function :XDisplayHeight, [Display.ptr, :int], :int
@@ -235,28 +235,28 @@ module LibX11
235
235
  attach_function :XDisplayWidth, [Display.ptr, :int], :int
236
236
  attach_function :XDisplayWidthMM, [Display.ptr, :int], :int
237
237
  attach_function :XDrawArc, [Display.ptr, :Drawable, :GC, :int, :int, :uint, :uint, :int, :int], :int
238
- attach_function :XDrawArcs, [Display.ptr, :Drawable, :GC, :pointer, :int], :int
238
+ attach_function :XDrawArcs, [Display.ptr, :Drawable, :GC, XArc.ptr, :int], :int
239
239
  attach_function :XDrawImageString, [Display.ptr, :Drawable, :GC, :int, :int, :string, :int], :int
240
- attach_function :XDrawImageString16, [Display.ptr, :Drawable, :GC, :int, :int, :pointer, :int], :int
240
+ attach_function :XDrawImageString16, [Display.ptr, :Drawable, :GC, :int, :int, XChar2b.ptr, :int], :int
241
241
  attach_function :XDrawLine, [Display.ptr, :Drawable, :GC, :int, :int, :int, :int], :int
242
- attach_function :XDrawLines, [Display.ptr, :Drawable, :GC, :pointer, :int, :int], :int
242
+ attach_function :XDrawLines, [Display.ptr, :Drawable, :GC, XPoint.ptr, :int, :int], :int
243
243
  attach_function :XDrawPoint, [Display.ptr, :Drawable, :GC, :int, :int], :int
244
- attach_function :XDrawPoints, [Display.ptr, :Drawable, :GC, :pointer, :int, :int], :int
244
+ attach_function :XDrawPoints, [Display.ptr, :Drawable, :GC, XPoint.ptr, :int, :int], :int
245
245
  attach_function :XDrawRectangle, [Display.ptr, :Drawable, :GC, :int, :int, :uint, :uint], :int
246
- attach_function :XDrawRectangles, [Display.ptr, :Drawable, :GC, :pointer, :int], :int
247
- attach_function :XDrawSegments, [Display.ptr, :Drawable, :GC, :pointer, :int], :int
246
+ attach_function :XDrawRectangles, [Display.ptr, :Drawable, :GC, XRectangle.ptr, :int], :int
247
+ attach_function :XDrawSegments, [Display.ptr, :Drawable, :GC, XSegment.ptr, :int], :int
248
248
  attach_function :XDrawString, [Display.ptr, :Drawable, :GC, :int, :int, :string, :int], :int
249
- attach_function :XDrawString16, [Display.ptr, :Drawable, :GC, :int, :int, :pointer, :int], :int
250
- attach_function :XDrawText, [Display.ptr, :Drawable, :GC, :int, :int, :pointer, :int], :int
251
- attach_function :XDrawText16, [Display.ptr, :Drawable, :GC, :int, :int, :pointer, :int], :int
249
+ attach_function :XDrawString16, [Display.ptr, :Drawable, :GC, :int, :int, XChar2b.ptr, :int], :int
250
+ attach_function :XDrawText, [Display.ptr, :Drawable, :GC, :int, :int, XTextItem.ptr, :int], :int
251
+ attach_function :XDrawText16, [Display.ptr, :Drawable, :GC, :int, :int, XTextItem16.ptr, :int], :int
252
252
  attach_function :XEnableAccessControl, [Display.ptr], :int
253
253
  attach_function :XEventsQueued, [Display.ptr, :int], :int
254
254
  attach_function :XFetchName, [Display.ptr, :Window, :pointer], :Status
255
255
  attach_function :XFillArc, [Display.ptr, :Drawable, :GC, :int, :int, :uint, :uint, :int, :int], :int
256
- attach_function :XFillArcs, [Display.ptr, :Drawable, :GC, :pointer, :int], :int
257
- attach_function :XFillPolygon, [Display.ptr, :Drawable, :GC, :pointer, :int, :int, :int], :int
256
+ attach_function :XFillArcs, [Display.ptr, :Drawable, :GC, XArc.ptr, :int], :int
257
+ attach_function :XFillPolygon, [Display.ptr, :Drawable, :GC, XPoint.ptr, :int, :int, :int], :int
258
258
  attach_function :XFillRectangle, [Display.ptr, :Drawable, :GC, :int, :int, :uint, :uint], :int
259
- attach_function :XFillRectangles, [Display.ptr, :Drawable, :GC, :pointer, :int], :int
259
+ attach_function :XFillRectangles, [Display.ptr, :Drawable, :GC, XRectangle.ptr, :int], :int
260
260
  attach_function :XFlush, [Display.ptr], :int
261
261
  attach_function :XForceScreenSaver, [Display.ptr, :int], :int
262
262
  attach_function :XFree, [:pointer], :int
@@ -264,56 +264,56 @@ module LibX11
264
264
  attach_function :XFreeColors, [Display.ptr, :Colormap, :pointer, :int, :ulong], :int
265
265
  attach_function :XFreeCursor, [Display.ptr, :Cursor], :int
266
266
  attach_function :XFreeExtensionList, [:pointer], :int
267
- attach_function :XFreeFont, [Display.ptr, :pointer], :int
268
- attach_function :XFreeFontInfo, [:pointer, :pointer, :int], :int
267
+ attach_function :XFreeFont, [Display.ptr, XFontStruct.ptr], :int
268
+ attach_function :XFreeFontInfo, [:pointer, XFontStruct.ptr, :int], :int
269
269
  attach_function :XFreeFontNames, [:pointer], :int
270
270
  attach_function :XFreeFontPath, [:pointer], :int
271
271
  attach_function :XFreeGC, [Display.ptr, :GC], :int
272
- attach_function :XFreeModifiermap, [:pointer], :int
272
+ attach_function :XFreeModifiermap, [XModifierKeymap.ptr], :int
273
273
  attach_function :XFreePixmap, [Display.ptr, :Pixmap], :int
274
274
  attach_function :XGeometry, [Display.ptr, :int, :string, :string, :uint, :uint, :uint, :int, :int, :pointer, :pointer, :pointer, :pointer], :int
275
275
  attach_function :XGetErrorDatabaseText, [Display.ptr, :string, :string, :string, :string, :int], :int
276
276
  attach_function :XGetErrorText, [Display.ptr, :int, :string, :int], :int
277
- attach_function :XGetFontProperty, [:pointer, :Atom, :pointer], :bool
278
- attach_function :XGetGCValues, [Display.ptr, :GC, :ulong, :pointer], :Status
277
+ attach_function :XGetFontProperty, [XFontStruct.ptr, :Atom, :pointer], :bool
278
+ attach_function :XGetGCValues, [Display.ptr, :GC, :ulong, XGCValues.ptr], :Status
279
279
  attach_function :XGetGeometry, [Display.ptr, :Drawable, :pointer, :pointer, :pointer, :pointer, :pointer, :pointer, :pointer], :Status
280
280
  attach_function :XGetIconName, [Display.ptr, :Window, :pointer], :Status
281
281
  attach_function :XGetInputFocus, [Display.ptr, :pointer, :pointer], :int
282
- attach_function :XGetKeyboardControl, [Display.ptr, :pointer], :int
282
+ attach_function :XGetKeyboardControl, [Display.ptr, XKeyboardState.ptr], :int
283
283
  attach_function :XGetPointerControl, [Display.ptr, :pointer, :pointer, :pointer], :int
284
284
  attach_function :XGetPointerMapping, [Display.ptr, :pointer, :int], :int
285
285
  attach_function :XGetScreenSaver, [Display.ptr, :pointer, :pointer, :pointer, :pointer], :int
286
286
  attach_function :XGetTransientForHint, [Display.ptr, :Window, :pointer], :Status
287
287
  attach_function :XGetWindowProperty, [Display.ptr, :Window, :Atom, :long, :long, :bool, :Atom, :pointer, :pointer, :pointer, :pointer, :pointer], :int
288
- attach_function :XGetWindowAttributes, [Display.ptr, :Window, :pointer], :Status
288
+ attach_function :XGetWindowAttributes, [Display.ptr, :Window, XWindowAttributes.ptr], :Status
289
289
  attach_function :XGrabButton, [Display.ptr, :uint, :uint, :Window, :bool, :uint, :int, :int, :Window, :Cursor], :int
290
290
  attach_function :XGrabKey, [Display.ptr, :int, :uint, :Window, :bool, :int, :int], :int
291
291
  attach_function :XGrabKeyboard, [Display.ptr, :Window, :bool, :int, :int, :Time], :int
292
292
  attach_function :XGrabPointer, [Display.ptr, :Window, :bool, :uint, :int, :int, :Window, :Cursor, :Time], :int
293
293
  attach_function :XGrabServer, [Display.ptr], :int
294
- attach_function :XHeightMMOfScreen, [:pointer], :int
295
- attach_function :XHeightOfScreen, [:pointer], :int
294
+ attach_function :XHeightMMOfScreen, [Screen.ptr], :int
295
+ attach_function :XHeightOfScreen, [Screen.ptr], :int
296
296
  attach_function :XImageByteOrder, [Display.ptr], :int
297
297
  attach_function :XInstallColormap, [Display.ptr, :Colormap], :int
298
298
  attach_function :XKeysymToKeycode, [Display.ptr, :KeySym], :KeyCode
299
299
  attach_function :XKillClient, [Display.ptr, :XID], :int
300
- attach_function :XLookupColor, [Display.ptr, :Colormap, :string, :pointer, :pointer], :Status
300
+ attach_function :XLookupColor, [Display.ptr, :Colormap, :string, XColor.ptr, XColor.ptr], :Status
301
301
  attach_function :XLowerWindow, [Display.ptr, :Window], :int
302
302
  attach_function :XMapRaised, [Display.ptr, :Window], :int
303
303
  attach_function :XMapSubwindows, [Display.ptr, :Window], :int
304
304
  attach_function :XMapWindow, [Display.ptr, :Window], :int
305
305
  attach_function :XMaskEvent, [Display.ptr, :long, XEvent.ptr], :int
306
- attach_function :XMaxCmapsOfScreen, [:pointer], :int
307
- attach_function :XMinCmapsOfScreen, [:pointer], :int
306
+ attach_function :XMaxCmapsOfScreen, [Screen.ptr], :int
307
+ attach_function :XMinCmapsOfScreen, [Screen.ptr], :int
308
308
  attach_function :XMoveResizeWindow, [Display.ptr, :Window, :int, :int, :uint, :uint], :int
309
309
  attach_function :XMoveWindow, [Display.ptr, :Window, :int, :int], :int
310
310
  attach_function :XNextEvent, [Display.ptr, XEvent.ptr], :int, blocking: true
311
311
  attach_function :XNoOp, [Display.ptr], :int
312
- attach_function :XParseColor, [Display.ptr, :Colormap, :string, :pointer], :Status
312
+ attach_function :XParseColor, [Display.ptr, :Colormap, :string, XColor.ptr], :Status
313
313
  attach_function :XParseGeometry, [:string, :pointer, :pointer, :pointer, :pointer], :int
314
314
  attach_function :XPeekEvent, [Display.ptr, XEvent.ptr], :int
315
315
  attach_function :XPending, [Display.ptr], :int
316
- attach_function :XPlanesOfScreen, [:pointer], :int
316
+ attach_function :XPlanesOfScreen, [Screen.ptr], :int
317
317
  attach_function :XProtocolRevision, [Display.ptr], :int
318
318
  attach_function :XProtocolVersion, [Display.ptr], :int
319
319
  attach_function :XPutBackEvent, [Display.ptr, XEvent.ptr], :int
@@ -323,23 +323,23 @@ module LibX11
323
323
  attach_function :XQueryBestSize, [Display.ptr, :int, :Drawable, :uint, :uint, :pointer, :pointer], :Status
324
324
  attach_function :XQueryBestStipple, [Display.ptr, :Drawable, :uint, :uint, :pointer, :pointer], :Status
325
325
  attach_function :XQueryBestTile, [Display.ptr, :Drawable, :uint, :uint, :pointer, :pointer], :Status
326
- attach_function :XQueryColor, [Display.ptr, :Colormap, :pointer], :int
327
- attach_function :XQueryColors, [Display.ptr, :Colormap, :pointer, :int], :int
326
+ attach_function :XQueryColor, [Display.ptr, :Colormap, XColor.ptr], :int
327
+ attach_function :XQueryColors, [Display.ptr, :Colormap, XColor.ptr, :int], :int
328
328
  attach_function :XQueryExtension, [Display.ptr, :string, :pointer, :pointer, :pointer], :bool
329
329
  attach_function :XQueryKeymap, [Display.ptr, :pointer], :int
330
330
  attach_function :XQueryPointer, [Display.ptr, :Window, :pointer, :pointer, :pointer, :pointer, :pointer, :pointer, :pointer], :bool
331
- attach_function :XQueryTextExtents, [Display.ptr, :XID, :string, :int, :pointer, :pointer, :pointer, :pointer], :int
332
- attach_function :XQueryTextExtents16, [Display.ptr, :XID, :pointer, :int, :pointer, :pointer, :pointer, :pointer], :int
331
+ attach_function :XQueryTextExtents, [Display.ptr, :XID, :string, :int, :pointer, :pointer, :pointer, XCharStruct.ptr], :int
332
+ attach_function :XQueryTextExtents16, [Display.ptr, :XID, XChar2b.ptr, :int, :pointer, :pointer, :pointer, XCharStruct.ptr], :int
333
333
  attach_function :XQueryTree, [Display.ptr, :Window, :pointer, :pointer, :pointer, :pointer], :Status
334
334
  attach_function :XRaiseWindow, [Display.ptr, :Window], :int
335
335
  attach_function :XReadBitmapFile, [Display.ptr, :Drawable, :string, :pointer, :pointer, :pointer, :pointer, :pointer], :int
336
336
  attach_function :XReadBitmapFileData, [:string, :pointer, :pointer, :pointer, :pointer, :pointer], :int
337
337
  attach_function :XRebindKeysym, [Display.ptr, :KeySym, :pointer, :int, :pointer, :int], :int
338
- attach_function :XRecolorCursor, [Display.ptr, :Cursor, :pointer, :pointer], :int
338
+ attach_function :XRecolorCursor, [Display.ptr, :Cursor, XColor.ptr, XColor.ptr], :int
339
339
  attach_function :XRefreshKeyboardMapping, [XMappingEvent.ptr], :int
340
340
  attach_function :XRemoveFromSaveSet, [Display.ptr, :Window], :int
341
- attach_function :XRemoveHost, [Display.ptr, :pointer], :int
342
- attach_function :XRemoveHosts, [Display.ptr, :pointer, :int], :int
341
+ attach_function :XRemoveHost, [Display.ptr, XHostAddress.ptr], :int
342
+ attach_function :XRemoveHosts, [Display.ptr, XHostAddress.ptr, :int], :int
343
343
  attach_function :XReparentWindow, [Display.ptr, :Window, :Window, :int, :int], :int
344
344
  attach_function :XResetScreenSaver, [Display.ptr], :int
345
345
  attach_function :XResizeWindow, [Display.ptr, :Window, :uint, :uint], :int
@@ -354,7 +354,7 @@ module LibX11
354
354
  attach_function :XSetBackground, [Display.ptr, :GC, :ulong], :int
355
355
  attach_function :XSetClipMask, [Display.ptr, :GC, :Pixmap], :int
356
356
  attach_function :XSetClipOrigin, [Display.ptr, :GC, :int, :int], :int
357
- attach_function :XSetClipRectangles, [Display.ptr, :GC, :int, :int, :pointer, :int, :int], :int
357
+ attach_function :XSetClipRectangles, [Display.ptr, :GC, :int, :int, XRectangle.ptr, :int, :int], :int
358
358
  attach_function :XSetCloseDownMode, [Display.ptr, :int], :int
359
359
  attach_function :XSetCommand, [Display.ptr, :Window, :pointer, :int], :int
360
360
  attach_function :XSetDashes, [Display.ptr, :GC, :int, :string, :int], :int
@@ -368,7 +368,7 @@ module LibX11
368
368
  attach_function :XSetIconName, [Display.ptr, :Window, :string], :int
369
369
  attach_function :XSetInputFocus, [Display.ptr, :Window, :int, :Time], :int
370
370
  attach_function :XSetLineAttributes, [Display.ptr, :GC, :uint, :int, :int, :int], :int
371
- attach_function :XSetModifierMapping, [Display.ptr, :pointer], :int
371
+ attach_function :XSetModifierMapping, [Display.ptr, XModifierKeymap.ptr], :int
372
372
  attach_function :XSetPlaneMask, [Display.ptr, :GC, :ulong], :int
373
373
  attach_function :XSetPointerMapping, [Display.ptr, :pointer, :int], :int
374
374
  attach_function :XSetScreenSaver, [Display.ptr, :int, :int, :int, :int], :int
@@ -386,15 +386,15 @@ module LibX11
386
386
  attach_function :XSetWindowColormap, [Display.ptr, :Window, :Colormap], :int
387
387
  attach_function :XStoreBuffer, [Display.ptr, :string, :int, :int], :int
388
388
  attach_function :XStoreBytes, [Display.ptr, :string, :int], :int
389
- attach_function :XStoreColor, [Display.ptr, :Colormap, :pointer], :int
390
- attach_function :XStoreColors, [Display.ptr, :Colormap, :pointer, :int], :int
389
+ attach_function :XStoreColor, [Display.ptr, :Colormap, XColor.ptr], :int
390
+ attach_function :XStoreColors, [Display.ptr, :Colormap, XColor.ptr, :int], :int
391
391
  attach_function :XStoreName, [Display.ptr, :Window, :string], :int
392
392
  attach_function :XStoreNamedColor, [Display.ptr, :Colormap, :string, :ulong, :int], :int
393
393
  attach_function :XSync, [Display.ptr, :bool], :int, blocking: true
394
- attach_function :XTextExtents, [:pointer, :string, :int, :pointer, :pointer, :pointer, :pointer], :int
395
- attach_function :XTextExtents16, [:pointer, :pointer, :int, :pointer, :pointer, :pointer, :pointer], :int
396
- attach_function :XTextWidth, [:pointer, :string, :int], :int
397
- attach_function :XTextWidth16, [:pointer, :pointer, :int], :int
394
+ attach_function :XTextExtents, [XFontStruct.ptr, :string, :int, :pointer, :pointer, :pointer, XCharStruct.ptr], :int
395
+ attach_function :XTextExtents16, [XFontStruct.ptr, XChar2b.ptr, :int, :pointer, :pointer, :pointer, XCharStruct.ptr], :int
396
+ attach_function :XTextWidth, [XFontStruct.ptr, :string, :int], :int
397
+ attach_function :XTextWidth16, [XFontStruct.ptr, XChar2b.ptr, :int], :int
398
398
  attach_function :XTranslateCoordinates, [Display.ptr, :Window, :Window, :int, :int, :pointer, :pointer, :pointer], :bool
399
399
  attach_function :XUndefineCursor, [Display.ptr, :Window], :int
400
400
  attach_function :XUngrabButton, [Display.ptr, :uint, :uint, :Window], :int
@@ -408,8 +408,8 @@ module LibX11
408
408
  attach_function :XUnmapWindow, [Display.ptr, :Window], :int
409
409
  attach_function :XVendorRelease, [Display.ptr], :int
410
410
  attach_function :XWarpPointer, [Display.ptr, :Window, :Window, :int, :int, :uint, :uint, :int, :int], :int
411
- attach_function :XWidthMMOfScreen, [:pointer], :int
412
- attach_function :XWidthOfScreen, [:pointer], :int
411
+ attach_function :XWidthMMOfScreen, [Screen.ptr], :int
412
+ attach_function :XWidthOfScreen, [Screen.ptr], :int
413
413
  attach_function :XWindowEvent, [Display.ptr, :Window, :long, XEvent.ptr], :int
414
414
  attach_function :XWriteBitmapFile, [Display.ptr, :string, :Pixmap, :uint, :uint, :int, :int], :int
415
415
  attach_function :XSupportsLocale, [], :bool
@@ -428,19 +428,19 @@ module LibX11
428
428
  attach_function :XContextDependentDrawing, [:pointer], :bool
429
429
  attach_function :XDirectionalDependentDrawing, [:pointer], :bool
430
430
  attach_function :XContextualDrawing, [:pointer], :bool
431
- attach_function :XExtentsOfFontSet, [:pointer], :pointer
431
+ attach_function :XExtentsOfFontSet, [:pointer], XFontSetExtents.ptr
432
432
  attach_function :XmbTextEscapement, [:pointer, :string, :int], :int
433
433
  attach_function :XwcTextEscapement, [:pointer, :pointer, :int], :int
434
434
  attach_function :Xutf8TextEscapement, [:pointer, :string, :int], :int
435
- attach_function :XmbTextExtents, [:pointer, :string, :int, :pointer, :pointer], :int
436
- attach_function :XwcTextExtents, [:pointer, :pointer, :int, :pointer, :pointer], :int
437
- attach_function :Xutf8TextExtents, [:pointer, :string, :int, :pointer, :pointer], :int
438
- attach_function :XmbTextPerCharExtents, [:pointer, :string, :int, :pointer, :pointer, :int, :pointer, :pointer, :pointer], :Status
439
- attach_function :XwcTextPerCharExtents, [:pointer, :pointer, :int, :pointer, :pointer, :int, :pointer, :pointer, :pointer], :Status
440
- attach_function :Xutf8TextPerCharExtents, [:pointer, :string, :int, :pointer, :pointer, :int, :pointer, :pointer, :pointer], :Status
441
- attach_function :XmbDrawText, [Display.ptr, :Drawable, :GC, :int, :int, :pointer, :int], :void
442
- attach_function :XwcDrawText, [Display.ptr, :Drawable, :GC, :int, :int, :pointer, :int], :void
443
- attach_function :Xutf8DrawText, [Display.ptr, :Drawable, :GC, :int, :int, :pointer, :int], :void
435
+ attach_function :XmbTextExtents, [:pointer, :string, :int, XRectangle.ptr, XRectangle.ptr], :int
436
+ attach_function :XwcTextExtents, [:pointer, :pointer, :int, XRectangle.ptr, XRectangle.ptr], :int
437
+ attach_function :Xutf8TextExtents, [:pointer, :string, :int, XRectangle.ptr, XRectangle.ptr], :int
438
+ attach_function :XmbTextPerCharExtents, [:pointer, :string, :int, XRectangle.ptr, XRectangle.ptr, :int, :pointer, XRectangle.ptr, XRectangle.ptr], :Status
439
+ attach_function :XwcTextPerCharExtents, [:pointer, :pointer, :int, XRectangle.ptr, XRectangle.ptr, :int, :pointer, XRectangle.ptr, XRectangle.ptr], :Status
440
+ attach_function :Xutf8TextPerCharExtents, [:pointer, :string, :int, XRectangle.ptr, XRectangle.ptr, :int, :pointer, XRectangle.ptr, XRectangle.ptr], :Status
441
+ attach_function :XmbDrawText, [Display.ptr, :Drawable, :GC, :int, :int, XmbTextItem.ptr, :int], :void
442
+ attach_function :XwcDrawText, [Display.ptr, :Drawable, :GC, :int, :int, XwcTextItem.ptr, :int], :void
443
+ attach_function :Xutf8DrawText, [Display.ptr, :Drawable, :GC, :int, :int, XmbTextItem.ptr, :int], :void
444
444
  attach_function :XmbDrawString, [Display.ptr, :Drawable, :pointer, :GC, :int, :int, :string, :int], :void
445
445
  attach_function :XwcDrawString, [Display.ptr, :Drawable, :pointer, :GC, :int, :int, :pointer, :int], :void
446
446
  attach_function :Xutf8DrawString, [Display.ptr, :Drawable, :pointer, :GC, :int, :int, :string, :int], :void
@@ -4,7 +4,7 @@ module LibX11
4
4
  layout(
5
5
  :depth, :int,
6
6
  :nvisuals, :int,
7
- :visuals, :pointer,
7
+ :visuals, Visual.ptr,
8
8
  )
9
9
  end
10
10
  end
@@ -12,7 +12,7 @@ module LibX11
12
12
  :ndepths, :int,
13
13
  :depths, Depth.ptr,
14
14
  :root_depth, :int,
15
- :root_visual, :pointer,
15
+ :root_visual, Visual.ptr,
16
16
  :default_gc, :GC,
17
17
  :cmap, :Colormap,
18
18
  :white_pixel, :ulong,
@@ -15,7 +15,7 @@ module LibX11
15
15
  :properties, XFontProp.ptr,
16
16
  :min_bounds, XCharStruct,
17
17
  :max_bounds, XCharStruct,
18
- :per_char, :pointer,
18
+ :per_char, XCharStruct.ptr,
19
19
  :ascent, :int,
20
20
  :descent, :int,
21
21
  )
@@ -2,7 +2,7 @@ module LibX11
2
2
  module Xlib
3
3
  class XTextItem16 < FFI::Struct
4
4
  layout(
5
- :chars, :pointer,
5
+ :chars, XChar2b.ptr,
6
6
  :nchars, :int,
7
7
  :delta, :int,
8
8
  :font, :Font,
@@ -8,7 +8,7 @@ module LibX11
8
8
  :height, :int,
9
9
  :border_width, :int,
10
10
  :depth, :int,
11
- :visual, :pointer,
11
+ :visual, Visual.ptr,
12
12
  :root, :Window,
13
13
  :class, :int,
14
14
  :bit_gravity, :int,
@@ -24,7 +24,7 @@ module LibX11
24
24
  :your_event_mask, :long,
25
25
  :do_not_propagate_mask, :long,
26
26
  :override_redirect, :bool,
27
- :screen, :pointer,
27
+ :screen, Screen.ptr,
28
28
  )
29
29
  end
30
30
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libx11
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takashi Kokubun