ffi-efl is a FFI binding to Enlightenment Foundation Libraries (eina,eet,evas,ecore,edje,...) part of the Enlightenment project.
Ruby
Permalink
Failed to load latest commit information.
lib
spec
test test_button: add autodel and policy to behave like test_button-native Dec 1, 2013
tools parse elm headers *_common.h *_legacy.h if exists and concat Dec 2, 2013
.gitignore add tools/check_loading Oct 21, 2011
Changelog update Changelog May 3, 2013
Gemfile add Gemfile and Gemfile.lock Jun 22, 2012
Gemfile.lock release 0.0.15 Nov 28, 2012
MIT-LICENSE doc correction and implovements (email, legacy API needed) Dec 2, 2013
README.md doc correction and implovements (email, legacy API needed) Dec 2, 2013
Rakefile help user install bundler if missing Dec 21, 2012
TODO
ffi-efl.gemspec remove tools topdir from gem Apr 8, 2013

README.md

ffi-efl

by Jérémy Zurcher
http://asynk.ch

Gem Version

DESCRIPTION:

A ruby ffi binding to EFL libraries (Enlightenment Foundation Libraries).

FEATURES/PROBLEMS:

  • support ruby 2.0.0, 1.9.x NOT 1.8.x
  • support EFL 1.8.x
  • binding is almost complete but lacks high level ruby code and tests
  • eldbus is not present yet
  • only works with legacy API (--with-api=legacy or --with-api=both)

SYNOPSIS:

require 'efl/elm/elm_win'
require 'efl/elm/elm_bg'
require 'efl/elm/elm_label'

include Efl

class MyWin < Elm::ElmWin
    def initialize name, title, &block
        super FFI::MemoryPointer::NULL, name, &block
        title_set title
        feed
        smart_callback_add "delete,request", method(:on_delete), FFI::MemoryPointer.from_string("my data")
    end
    def feed
        @bg = Elm::ElmBg.new(self) do
            size_hint_weight_expand
            evas_object_color_set 150,180,100,180
            show
        end
        resize_object_add @bg
        @lb = Elm::ElmLabel.new(self) do
            text_set "Hello World!"
            size_hint_align_fill
            size_hint_weight_expand
            show
        end
        resize_object_add @lb
    end
    def on_delete data, evas_object, event_info
        puts "EXIT #{data.read_string}"
        Elm.exit
    end
end

Elm.init

win = MyWin.new "App name", "Window Title" do
    alpha_set true
    resize 200, 100
    center_set 600, 300
    show
end

Elm.run
Elm.shutdown

For more examples you may look at:

REQUIREMENTS:

  • You need a sane EFL installation built with legacy API, goto download for more info.

DOWNLOAD/INSTALL:

From rubygems:

[sudo] gem install ffi-efl

or from the git repository on github:

git clone git://github.com/jeremyz/ffi-efl.git cd ffi-efl rake install

RESOURCES:

You can find this project in a few places:

Online repositories:

Gem:

CREDITS:

Special thanks to:

  • Lionel Orry
  • Marius Hanne
  • The EFL team

LICENSE:

MIT see MIT_LICENSE