Merge branch 'gtk' into gtk-image-loader

Conflicts:
	basis/glib/ffi/ffi.factor
	basis/ui/backend/gtk/gtk.factor
db4
Philipp Brüschweiler 2010-07-22 23:51:17 +02:00
commit 926d1540c5
53 changed files with 85 additions and 50 deletions

View File

@ -2,7 +2,7 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.libraries alien.syntax combinators kernel USING: alien alien.libraries alien.syntax combinators kernel
system system
gir glib.ffi gobject.ffi ; gobject-introspection glib.ffi gobject.ffi ;
IN: atk.ffi IN: atk.ffi
<< <<

1
basis/atk/summary.txt Normal file
View File

@ -0,0 +1 @@
Atk binding

1
basis/atk/tags.txt Executable file
View File

@ -0,0 +1 @@
bindings

View File

@ -2,8 +2,8 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.c-types alien.destructors alien.syntax USING: alien alien.c-types alien.destructors alien.syntax
alien.libraries cairo.ffi combinators kernel system alien.libraries cairo.ffi combinators kernel system
gir gdk.pixbuf.ffi gio.ffi glib.ffi gmodule.ffi gobject.ffi gobject-introspection gdk.pixbuf.ffi gio.ffi glib.ffi gmodule.ffi
pango.ffi ; gobject.ffi pango.ffi ;
IN: gdk.ffi IN: gdk.ffi
<< <<

View File

@ -2,8 +2,8 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.c-types alien.libraries combinators kernel USING: alien alien.c-types alien.libraries combinators kernel
system vocabs.parser words system vocabs.parser words
gir gdk.ffi gdk.pixbuf.ffi gio.ffi glib.ffi gmodule.ffi gobject-introspection gdk.ffi gdk.pixbuf.ffi gio.ffi glib.ffi
gobject.ffi pango.ffi ; gmodule.ffi gobject.ffi pango.ffi ;
IN: gdk.gl.ffi IN: gdk.gl.ffi
<< <<

1
basis/gdk/gl/summary.txt Normal file
View File

@ -0,0 +1 @@
GdkGLExt binding

1
basis/gdk/gl/tags.txt Executable file
View File

@ -0,0 +1 @@
bindings

View File

@ -1,7 +1,7 @@
! Copyright (C) 2009 Anton Gorenko. ! Copyright (C) 2009 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.libraries combinators kernel system USING: alien alien.libraries combinators kernel system
gir gio.ffi glib.ffi gmodule.ffi gobject.ffi ; gobject-introspection gio.ffi glib.ffi gmodule.ffi gobject.ffi ;
EXCLUDE: alien.c-types => pointer ; EXCLUDE: alien.c-types => pointer ;
IN: gdk.pixbuf.ffi IN: gdk.pixbuf.ffi

View File

@ -0,0 +1 @@
GdkPixbuf binding

1
basis/gdk/pixbuf/tags.txt Executable file
View File

@ -0,0 +1 @@
bindings

1
basis/gdk/summary.txt Normal file
View File

@ -0,0 +1 @@
Gdk binding

1
basis/gdk/tags.txt Executable file
View File

@ -0,0 +1 @@
bindings

View File

@ -1,7 +1,7 @@
! Copyright (C) 2009 Anton Gorenko. ! Copyright (C) 2009 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.libraries combinators kernel system USING: alien alien.libraries combinators kernel system
gir glib.ffi gobject.ffi ; gobject-introspection glib.ffi gobject.ffi ;
EXCLUDE: alien.c-types => pointer ; EXCLUDE: alien.c-types => pointer ;
IN: gio.ffi IN: gio.ffi

1
basis/gio/summary.txt Normal file
View File

@ -0,0 +1 @@
GIO binding

1
basis/gio/tags.txt Executable file
View File

@ -0,0 +1 @@
bindings

View File

@ -1,8 +1,9 @@
! Copyright (C) 2009 Anton Gorenko. ! Copyright (C) 2009 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: accessors alien alien.c-types alien.destructors USING: accessors alien alien.c-types alien.destructors
alien.libraries alien.strings alien.syntax combinators gir alien.libraries alien.strings alien.syntax combinators
io.encodings.utf8 kernel system vocabs.parser words ; gobject-introspection io.encodings.utf8 kernel system
vocabs.parser words ;
IN: glib.ffi IN: glib.ffi
<< <<

1
basis/glib/summary.txt Normal file
View File

@ -0,0 +1 @@
GLib binding

1
basis/glib/tags.txt Executable file
View File

@ -0,0 +1 @@
bindings

View File

@ -1,7 +1,7 @@
! Copyright (C) 2009 Anton Gorenko. ! Copyright (C) 2009 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.libraries combinators kernel system USING: alien alien.libraries combinators kernel system
gir glib.ffi ; gobject-introspection glib.ffi ;
IN: gmodule.ffi IN: gmodule.ffi
<< <<

View File

@ -0,0 +1 @@
GModule binding

1
basis/gmodule/tags.txt Executable file
View File

@ -0,0 +1 @@
bindings

View File

@ -1,7 +1,7 @@
! Copyright (C) 2010 Anton Gorenko. ! Copyright (C) 2010 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: assocs kernel namespaces ; USING: assocs kernel namespaces ;
IN: gir.common IN: gobject-introspection.common
CONSTANT: ffi-vocab "ffi" CONSTANT: ffi-vocab "ffi"

View File

@ -1,11 +1,12 @@
! Copyright (C) 2009 Anton Gorenko. ! Copyright (C) 2009 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: accessors alien alien.c-types alien.parser arrays USING: accessors alien alien.c-types alien.parser arrays
classes.parser classes.struct combinators combinators.short-circuit classes.parser classes.struct combinators
definitions effects fry gir.common gir.types kernel math.parser combinators.short-circuit definitions effects fry
namespaces parser quotations sequences sequences.generalizations words gobject-introspection.common gobject-introspection.types kernel
words.constant ; math.parser namespaces parser quotations sequences
IN: gir.ffi sequences.generalizations words words.constant ;
IN: gobject-introspection.ffi
: string>c-type ( str -- c-type ) : string>c-type ( str -- c-type )
parse-c-type ; parse-c-type ;

View File

@ -1,8 +1,9 @@
! Copyright (C) 2009 Anton Gorenko. ! Copyright (C) 2009 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: accessors assocs combinators gir.common gir.ffi gir.loader USING: accessors assocs combinators gobject-introspection.common
gobject-introspection.ffi gobject-introspection.loader
kernel lexer locals math namespaces sequences vocabs.parser xml ; kernel lexer locals math namespaces sequences vocabs.parser xml ;
IN: gir IN: gobject-introspection
: with-child-vocab ( name quot -- ) : with-child-vocab ( name quot -- )
swap current-vocab name>> swap current-vocab name>>

View File

@ -1,10 +1,11 @@
! Copyright (C) 2009 Anton Gorenko. ! Copyright (C) 2009 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: accessors ascii combinators fry gir.common gir.repository USING: accessors ascii combinators fry
gir.types kernel math.parser sequences splitting xml.data gobject-introspection.common gobject-introspection.repository
xml.traversal ; gobject-introspection.types kernel math.parser sequences
splitting xml.data xml.traversal ;
FROM: namespaces => set get ; FROM: namespaces => set get ;
IN: gir.loader IN: gobject-introspection.loader
SYMBOL: namespace-prefix SYMBOL: namespace-prefix
SYMBOL: namespace-PREFIX SYMBOL: namespace-PREFIX
@ -221,7 +222,6 @@ SYMBOL: namespace-PREFIX
[ field new ] dip { [ field new ] dip {
[ "name" attr >>name ] [ "name" attr >>name ]
[ "writable" attr "1" = >>writable? ] [ "writable" attr "1" = >>writable? ]
! Для некоторых field есть callback в качестве типа, решить, как лучше сделать
[ [
first-child-tag dup name>> main>> "callback" = first-child-tag dup name>> main>> "callback" =
[ drop "gpointer" ] [ "type" attr ] if [ drop "gpointer" ] [ "type" attr ] if

View File

@ -1,7 +1,7 @@
! Copyright (C) 2009 Anton Gorenko. ! Copyright (C) 2009 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: ; USING: ;
IN: gir.repository IN: gobject-introspection.repository
TUPLE: node name ; TUPLE: node name ;

View File

@ -0,0 +1 @@
GObjectIntrospection support

View File

@ -1,8 +1,10 @@
! Copyright (C) 2009 Anton Gorenko. ! Copyright (C) 2009 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: accessors alien alien.c-types assocs combinators.short-circuit USING: accessors alien alien.c-types assocs
gir.common gir.repository kernel namespaces specialized-arrays ; combinators.short-circuit gobject-introspection.common
IN: gir.types gobject-introspection.repository kernel namespaces
specialized-arrays ;
IN: gobject-introspection.types
TUPLE: gwrapper { underlying alien } ; TUPLE: gwrapper { underlying alien } ;
TUPLE: grecord < gwrapper ; TUPLE: grecord < gwrapper ;

View File

@ -2,7 +2,7 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.syntax alien.destructors alien.libraries USING: alien alien.syntax alien.destructors alien.libraries
combinators kernel literals math system combinators kernel literals math system
gir glib.ffi ; gobject-introspection glib.ffi ;
EXCLUDE: alien.c-types => pointer ; EXCLUDE: alien.c-types => pointer ;
IN: gobject.ffi IN: gobject.ffi

View File

@ -0,0 +1 @@
GObject binding

1
basis/gobject/tags.txt Executable file
View File

@ -0,0 +1 @@
bindings

View File

@ -2,12 +2,12 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.syntax alien.libraries combinators kernel USING: alien alien.syntax alien.libraries combinators kernel
system system
gir glib.ffi gmodule.ffi gobject.ffi ; gobject-introspection glib.ffi gmodule.ffi gobject.ffi ;
EXCLUDE: alien.c-types => pointer ; EXCLUDE: alien.c-types => pointer ;
IN: gst.ffi IN: gstreamer.ffi
<< <<
"gst" { "gstreamer" {
{ [ os winnt? ] [ drop ] } { [ os winnt? ] [ drop ] }
{ [ os macosx? ] [ drop ] } { [ os macosx? ] [ drop ] }
{ [ os unix? ] [ "libgstreamer-0.10.so" cdecl add-library ] } { [ os unix? ] [ "libgstreamer-0.10.so" cdecl add-library ] }
@ -18,10 +18,10 @@ TYPEDEF: gpointer GstClockID
TYPEDEF: guint64 GstClockTime TYPEDEF: guint64 GstClockTime
TYPEDEF: gint64 GstClockTimeDiff TYPEDEF: gint64 GstClockTimeDiff
! Временное исправление отсутвующих типов libxml2 ! types from libxml2
TYPEDEF: void* xmlNodePtr TYPEDEF: void* xmlNodePtr
TYPEDEF: void* xmlDocPtr TYPEDEF: void* xmlDocPtr
TYPEDEF: void* xmlNsPtr TYPEDEF: void* xmlNsPtr
GIR: vocab:gst/Gst-0.10.gir GIR: vocab:gstreamer/Gst-0.10.gir

View File

@ -1,5 +1,5 @@
! Copyright (C) 2010 Anton Gorenko. ! Copyright (C) 2010 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: gst.ffi ; USING: gstreamer.ffi ;
IN: gst IN: gstreamer

View File

@ -0,0 +1 @@
GStreamer binding

1
basis/gstreamer/tags.txt Executable file
View File

@ -0,0 +1 @@
bindings

View File

@ -2,8 +2,8 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.syntax alien.destructors alien.libraries USING: alien alien.syntax alien.destructors alien.libraries
cairo.ffi combinators kernel system cairo.ffi combinators kernel system
gir atk.ffi gdk.ffi gdk.pixbuf.ffi gio.ffi glib.ffi gmodule.ffi gobject-introspection atk.ffi gdk.ffi gdk.pixbuf.ffi gio.ffi
gobject.ffi pango.ffi ; glib.ffi gmodule.ffi gobject.ffi pango.ffi ;
EXCLUDE: alien.c-types => pointer ; EXCLUDE: alien.c-types => pointer ;
IN: gtk.ffi IN: gtk.ffi

View File

@ -1,8 +1,8 @@
! Copyright (C) 2010 Anton Gorenko. ! Copyright (C) 2010 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.libraries combinators kernel system USING: alien alien.libraries combinators kernel system
gir gdk.ffi gdk.pixbuf.ffi gdk.gl.ffi gio.ffi glib.ffi gobject-introspection gdk.ffi gdk.pixbuf.ffi gdk.gl.ffi gio.ffi
gmodule.ffi gobject.ffi gtk.ffi ; glib.ffi gmodule.ffi gobject.ffi gtk.ffi ;
EXCLUDE: alien.c-types => pointer ; EXCLUDE: alien.c-types => pointer ;
IN: gtk.gl.ffi IN: gtk.gl.ffi

1
basis/gtk/gl/summary.txt Normal file
View File

@ -0,0 +1 @@
GtkGLExt binding

1
basis/gtk/gl/tags.txt Executable file
View File

@ -0,0 +1 @@
bindings

1
basis/gtk/summary.txt Normal file
View File

@ -0,0 +1 @@
Gtk binding

1
basis/gtk/tags.txt Executable file
View File

@ -0,0 +1 @@
bindings

View File

@ -2,7 +2,7 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.c-types alien.libraries alien.syntax cairo.ffi USING: alien alien.c-types alien.libraries alien.syntax cairo.ffi
combinators kernel system combinators kernel system
gir pango.ffi ; gobject-introspection pango.ffi ;
IN: pango.cairo.ffi IN: pango.cairo.ffi
<< <<

View File

@ -0,0 +1 @@
PangoCairo binding

1
basis/pango/cairo/tags.txt Executable file
View File

@ -0,0 +1 @@
bindings

View File

@ -2,7 +2,7 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.c-types alien.destructors alien.libraries USING: alien alien.c-types alien.destructors alien.libraries
alien.syntax combinators kernel system alien.syntax combinators kernel system
gir glib.ffi ; gobject-introspection glib.ffi ;
IN: pango.ffi IN: pango.ffi
<< <<
@ -13,7 +13,7 @@ IN: pango.ffi
} cond } cond
>> >>
TYPEDEF: void PangoLayoutRun ! не совсем верно TYPEDEF: void PangoLayoutRun
TYPEDEF: guint32 PangoGlyph TYPEDEF: guint32 PangoGlyph
IMPLEMENT-STRUCTS: PangoRectangle ; IMPLEMENT-STRUCTS: PangoRectangle ;

1
basis/pango/summary.txt Normal file
View File

@ -0,0 +1 @@
Pango binding

1
basis/pango/tags.txt Executable file
View File

@ -0,0 +1 @@
bindings

View File

@ -8,12 +8,9 @@ io.backend.unix.multiplexers io.encodings.utf8 io.thread kernel
libc literals locals math math.bitwise math.order math.vectors libc literals locals math math.bitwise math.order math.vectors
namespaces sequences strings system threads ui ui.backend namespaces sequences strings system threads ui ui.backend
ui.clipboards ui.commands ui.event-loop ui.gadgets ui.clipboards ui.commands ui.event-loop ui.gadgets
ui.gadgets.menus ui.gadgets.private ui.gadgets.worlds ui.gadgets.editors ui.gadgets.menus ui.gadgets.private
ui.gestures ui.pixel-formats ui.pixel-formats.private ui.gadgets.worlds ui.gestures ui.pixel-formats
ui.private ; ui.pixel-formats.private ui.private ;
RENAME: windows ui.private => ui:windows
EXCLUDE: ui.gadgets.editors => change-caret ;
RENAME: change-caret ui.gadgets.editors => editors:change-caret
IN: ui.backend.gtk IN: ui.backend.gtk
SINGLETON: gtk-ui-backend SINGLETON: gtk-ui-backend
@ -231,7 +228,12 @@ CONSTANT: poll-fd-events
mx get fd>> >>fd mx get fd>> >>fd
poll-fd-events >>events ; poll-fd-events >>events ;
: init-io-event-source ( -- ) HOOK: init-io-event-source io-backend ( -- )
M: c-io-backend init-io-event-source
;
M: object init-io-event-source
GSourceFuncs malloc-struct &free GSourceFuncs malloc-struct &free
[ io-source-prepare ] GSourceFuncsPrepareFunc >>prepare [ io-source-prepare ] GSourceFuncsPrepareFunc >>prepare
[ io-source-check ] GSourceFuncsCheckFunc >>check [ io-source-check ] GSourceFuncsCheckFunc >>check

View File

@ -0,0 +1 @@
Gtk-based UI backend

View File

@ -2,7 +2,7 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien.c-types alien.strings fry byte-arrays classes.struct USING: alien.c-types alien.strings fry byte-arrays classes.struct
io.encodings.utf8 kernel locals math prettyprint io.encodings.utf8 kernel locals math prettyprint
gst.ffi glib.ffi gobject.ffi gtk.ffi ; gstreamer.ffi glib.ffi gobject.ffi gtk.ffi ;
IN: gir.samples.lowlevel.gstreamer IN: gir.samples.lowlevel.gstreamer
! CONSTANT: uri "http://www.xiph.org/vorbis/listen/compilation-ogg-q4.ogg" ! CONSTANT: uri "http://www.xiph.org/vorbis/listen/compilation-ogg-q4.ogg"