diff options
Diffstat (limited to 'lib/e17/evas.rb')
-rw-r--r-- | lib/e17/evas.rb | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/e17/evas.rb b/lib/e17/evas.rb new file mode 100644 index 0000000..7a8d488 --- /dev/null +++ b/lib/e17/evas.rb @@ -0,0 +1,46 @@ +#! /usr/bin/env ruby +# -*- coding: UTF-8 -*- +# +require 'ffi' +# +module E17 + module EVAS + # + extend FFI::Library + # + callback :evas_async_events_put_cb, [:pointer, :int, :pointer], :void + # + ffi_lib 'evas' + [ + # http://docs.enlightenment.org/auto/evas/group__Evas__Group.html + [ :evas_init, [], :int], + [ :evas_shutdown, [], :int], + [ :evas_alloc_error, [], :int], + [ :evas_async_events_fd_get, [], :int], + [ :evas_async_events_process, [], :int], + [ :evas_async_events_put, [:pointer, :int, :pointer, :evas_async_events_put_cb], :bool], + ].each do |func| + begin + attach_function *func + rescue Object => e + puts "Could not attach #{func} #{e.message}" + end + end + # + ALLOC_ERROR_NONE = 0 + ALLOC_ERROR_FATAL = 1 + ALLOC_ERROR_RECOVERED = 2 + # + class << self + alias init evas_init + alias shutdown evas_shutdown + alias alloc_error evas_alloc_error + alias async_events_fd_get evas_async_events_fd_get + alias async_events_process evas_async_events_process + alias async_events_put evas_async_events_put + end + # + end +end +# +# EOF |