change directories structure (add */ffi/ffi.factor files)
parent
2677b7b562
commit
17192dee7c
|
@ -1,21 +1,5 @@
|
||||||
! 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 alien.syntax combinators kernel
|
USING: atk.ffi ;
|
||||||
system
|
IN: atk
|
||||||
gir glib gobject glib.ffi ;
|
|
||||||
|
|
||||||
<<
|
|
||||||
"atk" {
|
|
||||||
{ [ os winnt? ] [ "libatk-1.0-0.dll" cdecl add-library ] }
|
|
||||||
{ [ os macosx? ] [ drop ] }
|
|
||||||
{ [ os unix? ] [ "libatk-1.0.so" cdecl add-library ] }
|
|
||||||
} cond
|
|
||||||
>>
|
|
||||||
|
|
||||||
IN: atk.ffi
|
|
||||||
|
|
||||||
TYPEDEF: guint64 AtkState
|
|
||||||
TYPEDEF: GSList AtkAttributeSet
|
|
||||||
|
|
||||||
IN-GIR: atk vocab:atk/Atk-1.0.gir
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
! Copyright (C) 2009 Anton Gorenko.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: alien alien.libraries alien.syntax combinators kernel
|
||||||
|
system
|
||||||
|
gir glib.ffi gobject.ffi ;
|
||||||
|
IN: atk.ffi
|
||||||
|
|
||||||
|
<<
|
||||||
|
"atk" {
|
||||||
|
{ [ os winnt? ] [ "libatk-1.0-0.dll" cdecl add-library ] }
|
||||||
|
{ [ os macosx? ] [ drop ] }
|
||||||
|
{ [ os unix? ] [ "libatk-1.0.so" cdecl add-library ] }
|
||||||
|
} cond
|
||||||
|
>>
|
||||||
|
|
||||||
|
TYPEDEF: guint64 AtkState
|
||||||
|
TYPEDEF: GSList AtkAttributeSet
|
||||||
|
|
||||||
|
GIR: vocab:atk/Atk-1.0.gir
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
! Copyright (C) 2009 Anton Gorenko.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: alien alien.c-types alien.destructors alien.syntax
|
||||||
|
alien.libraries cairo.ffi combinators kernel system
|
||||||
|
gir gdk.pixbuf.ffi gio.ffi glib.ffi gmodule.ffi gobject.ffi
|
||||||
|
pango.ffi ;
|
||||||
|
IN: gdk.ffi
|
||||||
|
|
||||||
|
<<
|
||||||
|
"gdk" {
|
||||||
|
{ [ os winnt? ] [ "libgdk-win32-2.0-0.dll" cdecl add-library ] }
|
||||||
|
{ [ os macosx? ] [ drop ] }
|
||||||
|
{ [ os unix? ] [ "libgdk-x11-2.0.so" cdecl add-library ] }
|
||||||
|
} cond
|
||||||
|
>>
|
||||||
|
|
||||||
|
TYPEDEF: guint32 GdkNativeWindow
|
||||||
|
TYPEDEF: guint32 GdkWChar
|
||||||
|
|
||||||
|
IMPLEMENT-STRUCTS: GdkEventAny GdkEventKey GdkEventButton
|
||||||
|
GdkEventScroll GdkEventMotion GdkEventExpose GdkEventVisibility
|
||||||
|
GdkEventCrossing GdkEventFocus GdkEventConfigure GdkEventProperty
|
||||||
|
GdkEventSelection GdkEventDND GdkEventProximity GdkEventClient
|
||||||
|
GdkEventNoExpose GdkEventWindowState GdkEventSetting
|
||||||
|
GdkEventOwnerChange GdkEventGrabBroken ;
|
||||||
|
|
||||||
|
GIR: vocab:gdk/Gdk-2.0.gir
|
||||||
|
|
||||||
|
DESTRUCTOR: gdk_cursor_unref
|
||||||
|
|
|
@ -1,33 +1,5 @@
|
||||||
! 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.destructors alien.syntax alien.libraries cairo.ffi
|
USING: gdk.ffi ;
|
||||||
combinators kernel system
|
IN: gdk
|
||||||
gir glib gobject gio gmodule gdk.pixbuf glib.ffi ;
|
|
||||||
EXCLUDE: alien.c-types => pointer ;
|
|
||||||
|
|
||||||
<<
|
|
||||||
"gdk" {
|
|
||||||
{ [ os winnt? ] [ "libgdk-win32-2.0-0.dll" cdecl add-library ] }
|
|
||||||
{ [ os macosx? ] [ drop ] }
|
|
||||||
{ [ os unix? ] [ "libgdk-x11-2.0.so" cdecl add-library ] }
|
|
||||||
} cond
|
|
||||||
>>
|
|
||||||
|
|
||||||
IN: gdk.ffi
|
|
||||||
|
|
||||||
TYPEDEF: guint32 GdkNativeWindow
|
|
||||||
TYPEDEF: guint32 GdkWChar
|
|
||||||
|
|
||||||
IMPLEMENT-STRUCTS: GdkEventAny GdkEventKey GdkEventButton
|
|
||||||
GdkEventScroll GdkEventMotion GdkEventExpose GdkEventVisibility
|
|
||||||
GdkEventCrossing GdkEventFocus GdkEventConfigure GdkEventProperty
|
|
||||||
GdkEventSelection GdkEventDND GdkEventProximity GdkEventClient
|
|
||||||
GdkEventNoExpose GdkEventWindowState GdkEventSetting
|
|
||||||
GdkEventOwnerChange GdkEventGrabBroken ;
|
|
||||||
|
|
||||||
IN-GIR: gdk vocab:gdk/Gdk-2.0.gir
|
|
||||||
|
|
||||||
IN: gdk.ffi
|
|
||||||
|
|
||||||
DESTRUCTOR: gdk_cursor_unref
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
! Copyright (C) 2010 Anton Gorenko.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: alien alien.c-types alien.libraries combinators kernel
|
||||||
|
system vocabs.parser words
|
||||||
|
gir gdk.ffi gdk.pixbuf.ffi gio.ffi glib.ffi gmodule.ffi
|
||||||
|
gobject.ffi pango.ffi ;
|
||||||
|
IN: gdk.gl.ffi
|
||||||
|
|
||||||
|
<<
|
||||||
|
"gdk.gl" {
|
||||||
|
{ [ os winnt? ] [ drop ] }
|
||||||
|
{ [ os macosx? ] [ drop ] }
|
||||||
|
{ [ os unix? ] [ "libgdkglext-x11-1.0.so" cdecl add-library ] }
|
||||||
|
} cond
|
||||||
|
>>
|
||||||
|
|
||||||
|
<< ulong "unsigned long" current-vocab create typedef >>
|
||||||
|
|
||||||
|
GIR: vocab:gdk/gl/GdkGL-1.0.gir
|
||||||
|
|
|
@ -1,20 +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: alien alien.c-types alien.libraries combinators kernel
|
USING: gdk.gl.ffi ;
|
||||||
system vocabs.parser words
|
IN: gdk.gl
|
||||||
gir glib gobject gio gmodule gdk gdk.ffi gdk.pixbuf ;
|
|
||||||
|
|
||||||
<<
|
|
||||||
"gdk.gl" {
|
|
||||||
{ [ os winnt? ] [ drop ] }
|
|
||||||
{ [ os macosx? ] [ drop ] }
|
|
||||||
{ [ os unix? ] [ "libgdkglext-x11-1.0.so" cdecl add-library ] }
|
|
||||||
} cond
|
|
||||||
>>
|
|
||||||
|
|
||||||
IN: gdk.gl.ffi
|
|
||||||
|
|
||||||
<< ulong "unsigned long" current-vocab create typedef >>
|
|
||||||
|
|
||||||
IN-GIR: gdk.gl vocab:gdk/gl/GdkGL-1.0.gir
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
! Copyright (C) 2009 Anton Gorenko.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: alien alien.libraries combinators kernel system
|
||||||
|
gir gio.ffi glib.ffi gmodule.ffi gobject.ffi ;
|
||||||
|
EXCLUDE: alien.c-types => pointer ;
|
||||||
|
IN: gdk.pixbuf.ffi
|
||||||
|
|
||||||
|
<<
|
||||||
|
"gdk.pixbuf" {
|
||||||
|
{ [ os winnt? ] [ "libgdk_pixbuf-2.0-0.dll" cdecl add-library ] }
|
||||||
|
{ [ os macosx? ] [ drop ] }
|
||||||
|
{ [ os unix? ] [ "libgdk_pixbuf-2.0.so" cdecl add-library ] }
|
||||||
|
} cond
|
||||||
|
>>
|
||||||
|
|
||||||
|
GIR: vocab:gdk/pixbuf/GdkPixbuf-2.0.gir
|
||||||
|
|
|
@ -1,16 +1,5 @@
|
||||||
! 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: gdk.pixbuf.ffi ;
|
||||||
gir glib gobject gio gmodule ;
|
IN: gdk.pixbuf
|
||||||
EXCLUDE: alien.c-types => pointer ;
|
|
||||||
|
|
||||||
<<
|
|
||||||
"gdk.pixbuf" {
|
|
||||||
{ [ os winnt? ] [ "libgdk_pixbuf-2.0-0.dll" cdecl add-library ] }
|
|
||||||
{ [ os macosx? ] [ drop ] }
|
|
||||||
{ [ os unix? ] [ "libgdk_pixbuf-2.0.so" cdecl add-library ] }
|
|
||||||
} cond
|
|
||||||
>>
|
|
||||||
|
|
||||||
IN-GIR: gdk.pixbuf vocab:gdk/pixbuf/GdkPixbuf-2.0.gir
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
! Copyright (C) 2009 Anton Gorenko.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: alien alien.libraries combinators kernel system
|
||||||
|
gir glib.ffi gobject.ffi ;
|
||||||
|
EXCLUDE: alien.c-types => pointer ;
|
||||||
|
IN: gio.ffi
|
||||||
|
|
||||||
|
<<
|
||||||
|
"gio" {
|
||||||
|
{ [ os winnt? ] [ "libgio-2.0-0.dll" cdecl add-library ] }
|
||||||
|
{ [ os macosx? ] [ drop ] }
|
||||||
|
{ [ os unix? ] [ "libgio-2.0.so" cdecl add-library ] }
|
||||||
|
} cond
|
||||||
|
>>
|
||||||
|
|
||||||
|
GIR: vocab:gio/Gio-2.0.gir
|
||||||
|
|
|
@ -1,16 +1,5 @@
|
||||||
! 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: gio.ffi ;
|
||||||
gir glib gobject ;
|
IN: gio
|
||||||
EXCLUDE: alien.c-types => pointer ;
|
|
||||||
|
|
||||||
<<
|
|
||||||
"gio" {
|
|
||||||
{ [ os winnt? ] [ "libgio-2.0-0.dll" cdecl add-library ] }
|
|
||||||
{ [ os macosx? ] [ drop ] }
|
|
||||||
{ [ os unix? ] [ "libgio-2.0.so" cdecl add-library ] }
|
|
||||||
} cond
|
|
||||||
>>
|
|
||||||
|
|
||||||
IN-GIR: gio vocab:gio/Gio-2.0.gir
|
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,6 @@ CONSTANT: ffi-vocab "ffi"
|
||||||
|
|
||||||
SYMBOL: current-lib
|
SYMBOL: current-lib
|
||||||
|
|
||||||
SYMBOL: lib-aliases
|
|
||||||
lib-aliases [ H{ } ] initialize
|
|
||||||
|
|
||||||
SYMBOL: type-infos
|
SYMBOL: type-infos
|
||||||
type-infos [ H{ } ] initialize
|
type-infos [ H{ } ] initialize
|
||||||
|
|
||||||
|
@ -18,6 +15,3 @@ aliases [ H{ } ] initialize
|
||||||
|
|
||||||
SYMBOL: implement-structs
|
SYMBOL: implement-structs
|
||||||
|
|
||||||
: get-lib-alias ( lib -- alias )
|
|
||||||
lib-aliases get-global at ;
|
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ IN: gir.ffi
|
||||||
: ffi-invoker ( func -- quot )
|
: ffi-invoker ( func -- quot )
|
||||||
{
|
{
|
||||||
[ return>> c-type>> string>c-type ]
|
[ return>> c-type>> string>c-type ]
|
||||||
[ drop current-lib get ]
|
[ drop current-lib get-global ]
|
||||||
[ identifier>> ]
|
[ identifier>> ]
|
||||||
[ parameters>> [ c-type>> string>c-type ] map ]
|
[ parameters>> [ c-type>> string>c-type ] map ]
|
||||||
[ varargs?>> [ void* suffix ] when ]
|
[ varargs?>> [ void* suffix ] when ]
|
||||||
|
@ -61,7 +61,7 @@ IN: gir.ffi
|
||||||
[ void* swap typedef ] keep dup
|
[ void* swap typedef ] keep dup
|
||||||
] keep
|
] keep
|
||||||
[ signal-ffi-effect "callback-effect" set-word-prop ]
|
[ signal-ffi-effect "callback-effect" set-word-prop ]
|
||||||
[ drop current-lib get "callback-library" set-word-prop ]
|
[ drop current-lib get-global "callback-library" set-word-prop ]
|
||||||
[ signal-ffi-invoker (( quot -- alien )) define-inline ] 2tri ;
|
[ signal-ffi-invoker (( quot -- alien )) define-inline ] 2tri ;
|
||||||
|
|
||||||
: define-ffi-signals ( signals class -- )
|
: define-ffi-signals ( signals class -- )
|
||||||
|
@ -161,7 +161,7 @@ IN: gir.ffi
|
||||||
[ define-ffi-interface-content ] each ;
|
[ define-ffi-interface-content ] each ;
|
||||||
|
|
||||||
: get-type-invoker ( name -- quot )
|
: get-type-invoker ( name -- quot )
|
||||||
[ "GType" current-lib get ] dip
|
[ "GType" current-lib get-global ] dip
|
||||||
{ } \ alien-invoke 5 narray >quotation ;
|
{ } \ alien-invoke 5 narray >quotation ;
|
||||||
|
|
||||||
: define-ffi-class ( class -- word )
|
: define-ffi-class ( class -- word )
|
||||||
|
@ -211,11 +211,6 @@ IN: gir.ffi
|
||||||
: define-ffi-aliases ( aliases -- )
|
: define-ffi-aliases ( aliases -- )
|
||||||
[ define-ffi-alias ] each ;
|
[ define-ffi-alias ] each ;
|
||||||
|
|
||||||
: prepare-vocab ( repository -- )
|
|
||||||
includes>> lib-aliases get '[ _ at ] map sift
|
|
||||||
[ ffi-vocab "." glue ] map
|
|
||||||
[ dup using-vocab? [ drop ] [ use-vocab ] if ] each ;
|
|
||||||
|
|
||||||
: define-ffi-namespace ( namespace -- )
|
: define-ffi-namespace ( namespace -- )
|
||||||
{
|
{
|
||||||
[ aliases>> define-ffi-aliases ]
|
[ aliases>> define-ffi-aliases ]
|
||||||
|
@ -238,6 +233,5 @@ IN: gir.ffi
|
||||||
} cleave ;
|
} cleave ;
|
||||||
|
|
||||||
: define-ffi-repository ( repository -- )
|
: define-ffi-repository ( repository -- )
|
||||||
[ prepare-vocab ]
|
namespace>> define-ffi-namespace ;
|
||||||
[ namespace>> define-ffi-namespace ] bi ;
|
|
||||||
|
|
||||||
|
|
|
@ -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: accessors assocs combinators gir.common gir.ffi gir.loader
|
USING: accessors assocs combinators gir.common gir.ffi gir.loader
|
||||||
kernel lexer locals namespaces sequences vocabs.parser xml ;
|
kernel lexer locals math namespaces sequences vocabs.parser xml ;
|
||||||
IN: gir
|
IN: gir
|
||||||
|
|
||||||
: with-child-vocab ( name quot -- )
|
: with-child-vocab ( name quot -- )
|
||||||
|
@ -9,20 +9,18 @@ IN: gir
|
||||||
[ swap "." glue set-current-vocab call ] keep
|
[ swap "." glue set-current-vocab call ] keep
|
||||||
set-current-vocab ; inline
|
set-current-vocab ; inline
|
||||||
|
|
||||||
:: define-gir-vocab ( vocab-name file-name -- )
|
:: define-gir-vocab ( file-name -- )
|
||||||
file-name file>xml xml>repository
|
file-name file>xml xml>repository
|
||||||
|
|
||||||
vocab-name [ set-current-vocab ] [ current-lib set ] bi
|
current-vocab name>> dup ffi-vocab tail?
|
||||||
|
[ ffi-vocab length 1 + head* current-lib set-global ]
|
||||||
|
[ drop ] if ! throw the error
|
||||||
{
|
{
|
||||||
[
|
[ define-ffi-repository ]
|
||||||
namespace>> name>> vocab-name swap
|
|
||||||
lib-aliases get set-at
|
|
||||||
]
|
|
||||||
[ ffi-vocab [ define-ffi-repository ] with-child-vocab ]
|
|
||||||
} cleave
|
} cleave
|
||||||
f implement-structs set-global ;
|
f implement-structs set-global ;
|
||||||
|
|
||||||
SYNTAX: IN-GIR: scan scan define-gir-vocab ;
|
SYNTAX: GIR: scan define-gir-vocab ;
|
||||||
|
|
||||||
SYNTAX: IMPLEMENT-STRUCTS:
|
SYNTAX: IMPLEMENT-STRUCTS:
|
||||||
";" parse-tokens implement-structs set-global ;
|
";" parse-tokens implement-structs set-global ;
|
||||||
|
|
|
@ -32,7 +32,7 @@ SYMBOL: namespace-PREFIX
|
||||||
: full-type-name>type ( name -- type )
|
: full-type-name>type ( name -- type )
|
||||||
[ type new ] dip
|
[ type new ] dip
|
||||||
camel>factor "." split1 dup [ swap ] unless
|
camel>factor "." split1 dup [ swap ] unless
|
||||||
[ get-lib-alias >>namespace ] [ >>name ] bi* absolute-type ;
|
[ >>namespace ] [ >>name ] bi* absolute-type ;
|
||||||
|
|
||||||
: node>type ( xml -- type )
|
: node>type ( xml -- type )
|
||||||
"name" attr full-type-name>type ;
|
"name" attr full-type-name>type ;
|
||||||
|
@ -254,7 +254,7 @@ SYMBOL: namespace-PREFIX
|
||||||
|
|
||||||
: xml>namespace ( xml -- namespace )
|
: xml>namespace ( xml -- namespace )
|
||||||
[ namespace new ] dip {
|
[ namespace new ] dip {
|
||||||
[ "name" attr camel>factor dup current-lib set >>name ]
|
[ "name" attr camel>factor >>name ]
|
||||||
[ "prefix" attr [ set-prefix ] keep >>prefix ]
|
[ "prefix" attr [ set-prefix ] keep >>prefix ]
|
||||||
[ "alias" tags-named [ xml>alias ] map >>aliases ]
|
[ "alias" tags-named [ xml>alias ] map >>aliases ]
|
||||||
[ "record" tags-named [ xml>record ] map >>records ]
|
[ "record" tags-named [ xml>record ] map >>records ]
|
||||||
|
@ -265,8 +265,7 @@ SYMBOL: namespace-PREFIX
|
||||||
[ "constant" tags-named [ xml>const ] map >>consts ]
|
[ "constant" tags-named [ xml>const ] map >>consts ]
|
||||||
[ "enumeration" tags-named [ xml>enum ] map >>enums ]
|
[ "enumeration" tags-named [ xml>enum ] map >>enums ]
|
||||||
[ "bitfield" tags-named [ xml>enum ] map >>bitfields ]
|
[ "bitfield" tags-named [ xml>enum ] map >>bitfields ]
|
||||||
[ "function" load-functions >>functions
|
[ "function" load-functions >>functions ]
|
||||||
]
|
|
||||||
} cleave ;
|
} cleave ;
|
||||||
|
|
||||||
: xml>repository ( xml -- repository )
|
: xml>repository ( xml -- repository )
|
||||||
|
|
|
@ -132,5 +132,5 @@ PREDICATE: interface-type < type get-type-info interface-info? ;
|
||||||
dup {
|
dup {
|
||||||
[ namespace>> ] [ simple-type? ]
|
[ namespace>> ] [ simple-type? ]
|
||||||
[ utf8-type? ] [ none-type? ]
|
[ utf8-type? ] [ none-type? ]
|
||||||
} 1|| [ current-lib get >>namespace ] unless ;
|
} 1|| [ current-lib get-global >>namespace ] unless ;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
! Copyright (C) 2009 Anton Gorenko.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: accessors alien alien.c-types alien.libraries alien.syntax
|
||||||
|
combinators compiler.units gir kernel system vocabs.parser words ;
|
||||||
|
IN: glib.ffi
|
||||||
|
|
||||||
|
<<
|
||||||
|
"glib" {
|
||||||
|
{ [ os winnt? ] [ "libglib-2.0-0.dll" cdecl add-library ] }
|
||||||
|
{ [ os macosx? ] [ "/opt/local/lib/libglib-2.0.0.dylib" cdecl add-library ] }
|
||||||
|
{ [ os unix? ] [ "libglib-2.0.so" cdecl add-library ] }
|
||||||
|
} cond
|
||||||
|
>>
|
||||||
|
|
||||||
|
<< double "long double" current-vocab create typedef >>
|
||||||
|
|
||||||
|
TYPEDEF: char gchar
|
||||||
|
TYPEDEF: uchar guchar
|
||||||
|
TYPEDEF: short gshort
|
||||||
|
TYPEDEF: ushort gushort
|
||||||
|
TYPEDEF: long glong
|
||||||
|
TYPEDEF: ulong gulong
|
||||||
|
TYPEDEF: int gint
|
||||||
|
TYPEDEF: uint guint
|
||||||
|
|
||||||
|
<<
|
||||||
|
int c-type clone
|
||||||
|
[ >c-bool ] >>unboxer-quot
|
||||||
|
[ c-bool> ] >>boxer-quot
|
||||||
|
object >>boxed-class
|
||||||
|
"gboolean" current-vocab create typedef
|
||||||
|
>>
|
||||||
|
|
||||||
|
TYPEDEF: char gint8
|
||||||
|
TYPEDEF: uchar guint8
|
||||||
|
TYPEDEF: short gint16
|
||||||
|
TYPEDEF: ushort guint16
|
||||||
|
TYPEDEF: int gint32
|
||||||
|
TYPEDEF: uint guint32
|
||||||
|
TYPEDEF: longlong gint64
|
||||||
|
TYPEDEF: ulonglong guint64
|
||||||
|
|
||||||
|
TYPEDEF: float gfloat
|
||||||
|
TYPEDEF: double gdouble
|
||||||
|
|
||||||
|
TYPEDEF: long ssize_t
|
||||||
|
TYPEDEF: long time_t
|
||||||
|
TYPEDEF: size_t gsize
|
||||||
|
TYPEDEF: ssize_t gssize
|
||||||
|
TYPEDEF: size_t GType
|
||||||
|
|
||||||
|
TYPEDEF: void* gpointer
|
||||||
|
TYPEDEF: void* gconstpointer
|
||||||
|
|
||||||
|
TYPEDEF: guint8 GDateDay
|
||||||
|
TYPEDEF: guint16 GDateYear
|
||||||
|
TYPEDEF: gint GPid
|
||||||
|
TYPEDEF: guint32 GQuark
|
||||||
|
TYPEDEF: gint32 GTime
|
||||||
|
TYPEDEF: glong gintptr
|
||||||
|
TYPEDEF: gint64 goffset
|
||||||
|
TYPEDEF: gulong guintptr
|
||||||
|
TYPEDEF: guint32 gunichar
|
||||||
|
TYPEDEF: guint16 gunichar2
|
||||||
|
|
||||||
|
TYPEDEF: gpointer pointer
|
||||||
|
TYPEDEF: gpointer any
|
||||||
|
|
||||||
|
GIR: vocab:glib/GLib-2.0.gir
|
||||||
|
|
|
@ -1,73 +1,5 @@
|
||||||
! 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.libraries alien.syntax
|
USING: glib.ffi ;
|
||||||
combinators compiler.units gir kernel system vocabs.parser words ;
|
IN: glib
|
||||||
|
|
||||||
<<
|
|
||||||
"glib" {
|
|
||||||
{ [ os winnt? ] [ "libglib-2.0-0.dll" cdecl add-library ] }
|
|
||||||
{ [ os macosx? ] [ "/opt/local/lib/libglib-2.0.0.dylib" cdecl add-library ] }
|
|
||||||
{ [ os unix? ] [ "libglib-2.0.so" cdecl add-library ] }
|
|
||||||
} cond
|
|
||||||
>>
|
|
||||||
|
|
||||||
IN: glib.ffi
|
|
||||||
|
|
||||||
<< double "long double" current-vocab create typedef >>
|
|
||||||
|
|
||||||
TYPEDEF: char gchar
|
|
||||||
TYPEDEF: uchar guchar
|
|
||||||
TYPEDEF: short gshort
|
|
||||||
TYPEDEF: ushort gushort
|
|
||||||
TYPEDEF: long glong
|
|
||||||
TYPEDEF: ulong gulong
|
|
||||||
TYPEDEF: int gint
|
|
||||||
TYPEDEF: uint guint
|
|
||||||
|
|
||||||
SYMBOL: gboolean
|
|
||||||
<<
|
|
||||||
gint c-type clone
|
|
||||||
[ >c-bool ] >>unboxer-quot
|
|
||||||
[ c-bool> ] >>boxer-quot
|
|
||||||
object >>boxed-class
|
|
||||||
gboolean typedef
|
|
||||||
>>
|
|
||||||
|
|
||||||
TYPEDEF: char gint8
|
|
||||||
TYPEDEF: uchar guint8
|
|
||||||
TYPEDEF: short gint16
|
|
||||||
TYPEDEF: ushort guint16
|
|
||||||
TYPEDEF: int gint32
|
|
||||||
TYPEDEF: uint guint32
|
|
||||||
TYPEDEF: longlong gint64
|
|
||||||
TYPEDEF: ulonglong guint64
|
|
||||||
|
|
||||||
TYPEDEF: float gfloat
|
|
||||||
TYPEDEF: double gdouble
|
|
||||||
|
|
||||||
TYPEDEF: long ssize_t
|
|
||||||
TYPEDEF: long time_t
|
|
||||||
TYPEDEF: size_t gsize
|
|
||||||
TYPEDEF: ssize_t gssize
|
|
||||||
TYPEDEF: size_t GType
|
|
||||||
|
|
||||||
TYPEDEF: void* gpointer
|
|
||||||
TYPEDEF: void* gconstpointer
|
|
||||||
|
|
||||||
TYPEDEF: guint8 GDateDay
|
|
||||||
TYPEDEF: guint16 GDateYear
|
|
||||||
TYPEDEF: gint GPid
|
|
||||||
TYPEDEF: guint32 GQuark
|
|
||||||
TYPEDEF: gint32 GTime
|
|
||||||
TYPEDEF: glong gintptr
|
|
||||||
TYPEDEF: gint64 goffset
|
|
||||||
TYPEDEF: gulong guintptr
|
|
||||||
TYPEDEF: guint32 gunichar
|
|
||||||
TYPEDEF: guint16 gunichar2
|
|
||||||
|
|
||||||
! Разобраться, почему в .gir есть такие типы
|
|
||||||
TYPEDEF: gpointer pointer
|
|
||||||
TYPEDEF: gpointer any
|
|
||||||
|
|
||||||
IN-GIR: glib vocab:glib/GLib-2.0.gir
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
! Copyright (C) 2009 Anton Gorenko.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: alien alien.libraries combinators kernel system
|
||||||
|
gir glib.ffi ;
|
||||||
|
IN: gmodule.ffi
|
||||||
|
|
||||||
|
<<
|
||||||
|
"gmodule" {
|
||||||
|
{ [ os winnt? ] [ "libgmodule-2.0-0.dll" cdecl add-library ] }
|
||||||
|
{ [ os macosx? ] [ drop ] }
|
||||||
|
{ [ os unix? ] [ "libgmodule-2.0.so" cdecl add-library ] }
|
||||||
|
} cond
|
||||||
|
>>
|
||||||
|
|
||||||
|
GIR: vocab:gmodule/GModule-2.0.gir
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
! 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: gmodule.ffi ;
|
||||||
gir glib ;
|
IN: gmodule
|
||||||
|
|
||||||
<<
|
|
||||||
"gmodule" {
|
|
||||||
{ [ os winnt? ] [ "libgmodule-2.0-0.dll" cdecl add-library ] }
|
|
||||||
{ [ os macosx? ] [ drop ] }
|
|
||||||
{ [ os unix? ] [ "libgmodule-2.0.so" cdecl add-library ] }
|
|
||||||
} cond
|
|
||||||
>>
|
|
||||||
|
|
||||||
IN-GIR: gmodule vocab:gmodule/GModule-2.0.gir
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
! Copyright (C) 2009 Anton Gorenko.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: alien alien.syntax alien.destructors alien.libraries
|
||||||
|
combinators kernel literals math system
|
||||||
|
gir glib.ffi ;
|
||||||
|
EXCLUDE: alien.c-types => pointer ;
|
||||||
|
IN: gobject.ffi
|
||||||
|
|
||||||
|
<<
|
||||||
|
"gobject" {
|
||||||
|
{ [ os winnt? ] [ "libobject-2.0-0.dll" cdecl add-library ] }
|
||||||
|
{ [ os macosx? ] [ "/opt/local/lib/libgobject-2.0.0.dylib" cdecl add-library ] }
|
||||||
|
{ [ os unix? ] [ "libgobject-2.0.so" cdecl add-library ] }
|
||||||
|
} cond
|
||||||
|
>>
|
||||||
|
|
||||||
|
TYPEDEF: void* GSignalCMarshaller
|
||||||
|
TYPEDEF: void GStrv
|
||||||
|
TYPEDEF: gchar* gchararray
|
||||||
|
|
||||||
|
IMPLEMENT-STRUCTS: GValue ;
|
||||||
|
|
||||||
|
GIR: vocab:gobject/GObject-2.0.gir
|
||||||
|
|
||||||
|
IN: gobject.ffi
|
||||||
|
|
||||||
|
FORGET: GIOCondition
|
||||||
|
|
||||||
|
FUNCTION: void g_object_unref ( GObject* self ) ;
|
||||||
|
|
||||||
|
DESTRUCTOR: g_object_unref
|
||||||
|
|
||||||
|
TYPEDEF: GParamSpec GParam
|
||||||
|
|
||||||
|
CONSTANT: G_TYPE_INVALID $[ 0 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_NONE $[ 1 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_INTERFACE $[ 2 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_CHAR $[ 3 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_UCHAR $[ 4 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_BOOLEAN $[ 5 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_INT $[ 6 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_UINT $[ 7 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_LONG $[ 8 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_ULONG $[ 9 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_INT64 $[ 10 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_UINT64 $[ 11 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_ENUM $[ 12 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_FLAGS $[ 13 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_FLOAT $[ 14 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_DOUBLE $[ 15 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_STRING $[ 16 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_POINTER $[ 17 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_BOXED $[ 18 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_PARAM $[ 19 2 shift ]
|
||||||
|
CONSTANT: G_TYPE_OBJECT $[ 20 2 shift ]
|
||||||
|
|
|
@ -1,60 +1,5 @@
|
||||||
! 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.syntax alien.destructors
|
USING: gobject.ffi ;
|
||||||
alien.libraries combinators kernel literals math system
|
IN: gobject
|
||||||
gir glib glib.ffi ;
|
|
||||||
EXCLUDE: alien.c-types => pointer ;
|
|
||||||
|
|
||||||
<<
|
|
||||||
"gobject" {
|
|
||||||
{ [ os winnt? ] [ "libobject-2.0-0.dll" cdecl add-library ] }
|
|
||||||
{ [ os macosx? ] [ "/opt/local/lib/libgobject-2.0.0.dylib" cdecl add-library ] }
|
|
||||||
{ [ os unix? ] [ "libgobject-2.0.so" cdecl add-library ] }
|
|
||||||
} cond
|
|
||||||
>>
|
|
||||||
|
|
||||||
IN: gobject.ffi
|
|
||||||
|
|
||||||
TYPEDEF: void* GSignalCMarshaller
|
|
||||||
TYPEDEF: void GStrv
|
|
||||||
! есть alias
|
|
||||||
TYPEDEF: gchar* gchararray
|
|
||||||
|
|
||||||
IMPLEMENT-STRUCTS: GValue ;
|
|
||||||
|
|
||||||
IN-GIR: gobject vocab:gobject/GObject-2.0.gir
|
|
||||||
|
|
||||||
IN: gobject.ffi
|
|
||||||
|
|
||||||
FORGET: GIOCondition
|
|
||||||
|
|
||||||
FUNCTION: void g_object_unref ( GObject* self ) ;
|
|
||||||
|
|
||||||
DESTRUCTOR: g_object_unref
|
|
||||||
|
|
||||||
! Исправление неправильного типа параметра для GtkWidget-child-notify
|
|
||||||
! (разобраться)
|
|
||||||
TYPEDEF: GParamSpec GParam
|
|
||||||
|
|
||||||
CONSTANT: G_TYPE_INVALID $[ 0 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_NONE $[ 1 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_INTERFACE $[ 2 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_CHAR $[ 3 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_UCHAR $[ 4 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_BOOLEAN $[ 5 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_INT $[ 6 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_UINT $[ 7 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_LONG $[ 8 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_ULONG $[ 9 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_INT64 $[ 10 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_UINT64 $[ 11 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_ENUM $[ 12 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_FLAGS $[ 13 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_FLOAT $[ 14 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_DOUBLE $[ 15 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_STRING $[ 16 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_POINTER $[ 17 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_BOXED $[ 18 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_PARAM $[ 19 2 shift ]
|
|
||||||
CONSTANT: G_TYPE_OBJECT $[ 20 2 shift ]
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
! Copyright (C) 2010 Anton Gorenko.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: alien alien.syntax alien.libraries combinators kernel
|
||||||
|
system
|
||||||
|
gir glib.ffi gmodule.ffi gobject.ffi ;
|
||||||
|
EXCLUDE: alien.c-types => pointer ;
|
||||||
|
IN: gst.ffi
|
||||||
|
|
||||||
|
<<
|
||||||
|
"gst" {
|
||||||
|
{ [ os winnt? ] [ drop ] }
|
||||||
|
{ [ os macosx? ] [ drop ] }
|
||||||
|
{ [ os unix? ] [ "libgstreamer-0.10.so" cdecl add-library ] }
|
||||||
|
} cond
|
||||||
|
>>
|
||||||
|
|
||||||
|
TYPEDEF: gpointer GstClockID
|
||||||
|
TYPEDEF: guint64 GstClockTime
|
||||||
|
TYPEDEF: gint64 GstClockTimeDiff
|
||||||
|
|
||||||
|
! Временное исправление отсутвующих типов libxml2
|
||||||
|
TYPEDEF: void* xmlNodePtr
|
||||||
|
TYPEDEF: void* xmlDocPtr
|
||||||
|
TYPEDEF: void* xmlNsPtr
|
||||||
|
|
||||||
|
GIR: vocab:gst/Gst-0.10.gir
|
||||||
|
|
|
@ -1,28 +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: alien alien.syntax alien.libraries combinators
|
USING: gst.ffi ;
|
||||||
kernel system
|
IN: gst
|
||||||
gir glib glib.ffi gobject gmodule ;
|
|
||||||
EXCLUDE: alien.c-types => pointer ;
|
|
||||||
|
|
||||||
<<
|
|
||||||
"gst" {
|
|
||||||
{ [ os winnt? ] [ drop ] }
|
|
||||||
{ [ os macosx? ] [ drop ] }
|
|
||||||
{ [ os unix? ] [ "libgstreamer-0.10.so" cdecl add-library ] }
|
|
||||||
} cond
|
|
||||||
>>
|
|
||||||
|
|
||||||
IN: gst.ffi
|
|
||||||
|
|
||||||
TYPEDEF: gpointer GstClockID
|
|
||||||
TYPEDEF: guint64 GstClockTime
|
|
||||||
TYPEDEF: gint64 GstClockTimeDiff
|
|
||||||
|
|
||||||
! Временное исправление отсутвующих типов libxml2
|
|
||||||
TYPEDEF: void* xmlNodePtr
|
|
||||||
TYPEDEF: void* xmlDocPtr
|
|
||||||
TYPEDEF: void* xmlNsPtr
|
|
||||||
|
|
||||||
IN-GIR: gst vocab:gst/Gst-0.10.gir
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
! Copyright (C) 2009 Anton Gorenko.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: alien alien.syntax alien.libraries cairo.ffi combinators
|
||||||
|
kernel system
|
||||||
|
gir atk.ffi gdk.ffi gdk.pixbuf.ffi gio.ffi glib.ffi gmodule.ffi
|
||||||
|
gobject.ffi pango.ffi ;
|
||||||
|
EXCLUDE: alien.c-types => pointer ;
|
||||||
|
IN: gtk.ffi
|
||||||
|
|
||||||
|
<<
|
||||||
|
"gtk" {
|
||||||
|
{ [ os winnt? ] [ "libgtk-win32-2.0-0.dll" cdecl add-library ] }
|
||||||
|
{ [ os macosx? ] [ drop ] }
|
||||||
|
{ [ os unix? ] [ "libgtk-x11-2.0.so" cdecl add-library ] }
|
||||||
|
} cond
|
||||||
|
>>
|
||||||
|
|
||||||
|
TYPEDEF: void GtkAllocation
|
||||||
|
TYPEDEF: void GtkEnumValue
|
||||||
|
TYPEDEF: void GtkFlagValue
|
||||||
|
TYPEDEF: GType GtkType
|
||||||
|
|
||||||
|
IMPLEMENT-STRUCTS: GtkTreeIter ;
|
||||||
|
|
||||||
|
GIR: vocab:gtk/Gtk-2.0.gir
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
! Copyright (C) 2010 Anton Gorenko.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: alien alien.libraries combinators kernel system
|
||||||
|
gir gdk.ffi gdk.pixbuf.ffi gdk.gl.ffi gio.ffi glib.ffi
|
||||||
|
gmodule.ffi gobject.ffi gtk.ffi ;
|
||||||
|
EXCLUDE: alien.c-types => pointer ;
|
||||||
|
IN: gtk.gl.ffi
|
||||||
|
|
||||||
|
<<
|
||||||
|
"gtk.gl" {
|
||||||
|
{ [ os winnt? ] [ drop ] }
|
||||||
|
{ [ os macosx? ] [ drop ] }
|
||||||
|
{ [ os unix? ] [ "libgtkglext-x11-1.0.so" cdecl add-library ] }
|
||||||
|
} cond
|
||||||
|
>>
|
||||||
|
|
||||||
|
GIR: vocab:gtk/gl/GtkGL-1.0.gir
|
||||||
|
|
|
@ -1,16 +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: alien alien.libraries combinators kernel system
|
USING: gtk.gl.ffi ;
|
||||||
gir glib gobject gio gmodule gdk.pixbuf gdk gdk.gl gtk gtk.ffi ;
|
IN: gtk.gl
|
||||||
EXCLUDE: alien.c-types => pointer ;
|
|
||||||
|
|
||||||
<<
|
|
||||||
"gtk.gl" {
|
|
||||||
{ [ os winnt? ] [ drop ] }
|
|
||||||
{ [ os macosx? ] [ drop ] }
|
|
||||||
{ [ os unix? ] [ "libgtkglext-x11-1.0.so" cdecl add-library ] }
|
|
||||||
} cond
|
|
||||||
>>
|
|
||||||
|
|
||||||
IN-GIR: gtk.gl vocab:gtk/gl/GtkGL-1.0.gir
|
|
||||||
|
|
||||||
|
|
|
@ -1,26 +1,5 @@
|
||||||
! 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.syntax alien.libraries cairo.ffi combinators
|
USING: gtk.ffi ;
|
||||||
kernel system
|
IN: gtk
|
||||||
gir glib glib.ffi gobject gio gmodule gdk.pixbuf gdk atk ;
|
|
||||||
EXCLUDE: alien.c-types => pointer ;
|
|
||||||
|
|
||||||
<<
|
|
||||||
"gtk" {
|
|
||||||
{ [ os winnt? ] [ "libgtk-win32-2.0-0.dll" cdecl add-library ] }
|
|
||||||
{ [ os macosx? ] [ drop ] }
|
|
||||||
{ [ os unix? ] [ "libgtk-x11-2.0.so" cdecl add-library ] }
|
|
||||||
} cond
|
|
||||||
>>
|
|
||||||
|
|
||||||
IN: gtk.ffi
|
|
||||||
|
|
||||||
TYPEDEF: void GtkAllocation
|
|
||||||
TYPEDEF: void GtkEnumValue
|
|
||||||
TYPEDEF: void GtkFlagValue
|
|
||||||
TYPEDEF: GType GtkType
|
|
||||||
|
|
||||||
IMPLEMENT-STRUCTS: GtkTreeIter ;
|
|
||||||
|
|
||||||
IN-GIR: gtk vocab:gtk/Gtk-2.0.gir
|
|
||||||
|
|
||||||
|
|
|
@ -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: alien alien.strings io.encodings.ascii
|
USING: alien alien.strings io.encodings.ascii
|
||||||
gdk.gl gdk.gl.ffi ;
|
gdk.gl.ffi ;
|
||||||
IN: opengl.gl.gtk
|
IN: opengl.gl.gtk
|
||||||
|
|
||||||
: gl-function-context ( -- context )
|
: gl-function-context ( -- context )
|
||||||
|
|
|
@ -1,27 +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: alien alien.c-types alien.data alien.libraries
|
USING: cairo.pango.ffi ;
|
||||||
alien.syntax cairo.ffi combinators kernel system
|
IN: pango.cairo
|
||||||
gir pango pango.ffi ;
|
|
||||||
|
|
||||||
<<
|
|
||||||
"pango.cairo" {
|
|
||||||
{ [ os winnt? ] [ "libpangocairo-1.0-0.dll" cdecl add-library ] }
|
|
||||||
{ [ os macosx? ] [ "/opt/local/lib/libpangocairo-1.0.0.dylib" cdecl add-library ] }
|
|
||||||
{ [ os unix? ] [ "libpangocairo-1.0.so" cdecl add-library ] }
|
|
||||||
} cond
|
|
||||||
>>
|
|
||||||
|
|
||||||
IN-GIR: pango.cairo vocab:pango/cairo/PangoCairo-1.0.gir
|
|
||||||
|
|
||||||
IN: pango.cairo.ffi
|
|
||||||
|
|
||||||
FUNCTION: void
|
|
||||||
pango_cairo_update_layout ( cairo_t* cr, PangoLayout* layout ) ;
|
|
||||||
|
|
||||||
FUNCTION: void
|
|
||||||
pango_cairo_show_layout ( cairo_t* cr, PangoLayout* layout ) ;
|
|
||||||
|
|
||||||
FUNCTION: PangoLayout*
|
|
||||||
pango_cairo_create_layout ( cairo_t* cr ) ;
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
! Copyright (C) 2010 Anton Gorenko.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: alien alien.c-types alien.libraries alien.syntax cairo.ffi
|
||||||
|
combinators kernel system
|
||||||
|
gir pango.ffi ;
|
||||||
|
IN: pango.cairo.ffi
|
||||||
|
|
||||||
|
<<
|
||||||
|
"pango.cairo" {
|
||||||
|
{ [ os winnt? ] [ "libpangocairo-1.0-0.dll" cdecl add-library ] }
|
||||||
|
{ [ os macosx? ] [ "/opt/local/lib/libpangocairo-1.0.0.dylib" cdecl add-library ] }
|
||||||
|
{ [ os unix? ] [ "libpangocairo-1.0.so" cdecl add-library ] }
|
||||||
|
} cond
|
||||||
|
>>
|
||||||
|
|
||||||
|
GIR: vocab:pango/cairo/PangoCairo-1.0.gir
|
||||||
|
|
||||||
|
FUNCTION: void
|
||||||
|
pango_cairo_update_layout ( cairo_t* cr, PangoLayout* layout ) ;
|
||||||
|
|
||||||
|
FUNCTION: void
|
||||||
|
pango_cairo_show_layout ( cairo_t* cr, PangoLayout* layout ) ;
|
||||||
|
|
||||||
|
FUNCTION: PangoLayout*
|
||||||
|
pango_cairo_create_layout ( cairo_t* cr ) ;
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
! Copyright (C) 2009 Anton Gorenko.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: alien alien.c-types alien.destructors alien.libraries
|
||||||
|
alien.syntax combinators kernel system
|
||||||
|
gir glib.ffi ;
|
||||||
|
IN: pango.ffi
|
||||||
|
|
||||||
|
<<
|
||||||
|
"pango" {
|
||||||
|
{ [ os winnt? ] [ "libpango-1.0-0.dll" cdecl add-library ] }
|
||||||
|
{ [ os macosx? ] [ "/opt/local/lib/libpango-1.0.0.dylib" cdecl add-library ] }
|
||||||
|
{ [ os unix? ] [ "libpango-1.0.so" cdecl add-library ] }
|
||||||
|
} cond
|
||||||
|
>>
|
||||||
|
|
||||||
|
TYPEDEF: void PangoLayoutRun ! не совсем верно
|
||||||
|
TYPEDEF: guint32 PangoGlyph
|
||||||
|
|
||||||
|
IMPLEMENT-STRUCTS: PangoRectangle ;
|
||||||
|
|
||||||
|
GIR: vocab:pango/Pango-1.0.gir
|
||||||
|
|
||||||
|
DESTRUCTOR: pango_font_description_free
|
||||||
|
DESTRUCTOR: pango_layout_iter_free
|
||||||
|
|
|
@ -1,28 +1,5 @@
|
||||||
! 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.c-types alien.destructors alien.libraries
|
USING: pango.ffi ;
|
||||||
alien.syntax combinators kernel system
|
IN: pango
|
||||||
gir glib glib.ffi ;
|
|
||||||
|
|
||||||
<<
|
|
||||||
"pango" {
|
|
||||||
{ [ os winnt? ] [ "libpango-1.0-0.dll" cdecl add-library ] }
|
|
||||||
{ [ os macosx? ] [ "/opt/local/lib/libpango-1.0.0.dylib" cdecl add-library ] }
|
|
||||||
{ [ os unix? ] [ "libpango-1.0.so" cdecl add-library ] }
|
|
||||||
} cond
|
|
||||||
>>
|
|
||||||
|
|
||||||
IN: pango.ffi
|
|
||||||
|
|
||||||
TYPEDEF: void PangoLayoutRun ! не совсем верно
|
|
||||||
TYPEDEF: guint32 PangoGlyph
|
|
||||||
|
|
||||||
IMPLEMENT-STRUCTS: PangoRectangle ;
|
|
||||||
|
|
||||||
IN-GIR: pango vocab:pango/Pango-1.0.gir
|
|
||||||
|
|
||||||
IN: pango.ffi
|
|
||||||
|
|
||||||
DESTRUCTOR: pango_font_description_free
|
|
||||||
DESTRUCTOR: pango_layout_iter_free
|
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,7 @@ classes.struct combinators.short-circuit command-line destructors
|
||||||
io.encodings.utf8 kernel literals locals math math.bitwise
|
io.encodings.utf8 kernel literals locals math math.bitwise
|
||||||
namespaces sequences strings ui ui.backend ui.clipboards ui.event-loop
|
namespaces sequences strings ui ui.backend ui.clipboards ui.event-loop
|
||||||
ui.gadgets ui.gadgets.private ui.gadgets.worlds ui.gestures ui.private
|
ui.gadgets ui.gadgets.private ui.gadgets.worlds ui.gestures ui.private
|
||||||
glib glib.ffi gobject gobject.ffi gtk gtk.ffi gdk gdk.ffi
|
glib.ffi gobject.ffi gtk.ffi gdk.ffi gdk.gl.ffi gtk.gl.ffi ;
|
||||||
gdk.gl gtk.gl gdk.gl.ffi gtk.gl.ffi ;
|
|
||||||
IN: ui.backend.gtk
|
IN: ui.backend.gtk
|
||||||
|
|
||||||
SINGLETON: gtk-ui-backend
|
SINGLETON: gtk-ui-backend
|
||||||
|
@ -276,14 +275,14 @@ M:: gtk-ui-backend (open-window) ( world -- )
|
||||||
GTK_WINDOW_TOPLEVEL gtk_window_new :> win
|
GTK_WINDOW_TOPLEVEL gtk_window_new :> win
|
||||||
world [ window-loc>> win swap first2 gtk_window_move ]
|
world [ window-loc>> win swap first2 gtk_window_move ]
|
||||||
[ dim>> win swap first2 gtk_window_set_default_size ] bi
|
[ dim>> win swap first2 gtk_window_set_default_size ] bi
|
||||||
|
|
||||||
win enable-gl drop ! сделать проверку на доступность OpenGL
|
win enable-gl drop ! сделать проверку на доступность OpenGL
|
||||||
|
|
||||||
win connect-signals
|
win connect-signals
|
||||||
|
|
||||||
win gtk_widget_realize
|
win gtk_widget_realize
|
||||||
win world window-controls>> configure-window-controls
|
win world window-controls>> configure-window-controls
|
||||||
|
|
||||||
win <window-handle> world handle<<
|
win <window-handle> world handle<<
|
||||||
world win register-window
|
world win register-window
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ USING: accessors alien.c-types alien.strings arrays assocs cache cairo
|
||||||
cairo.ffi classes.struct combinators destructors fonts fry
|
cairo.ffi classes.struct combinators destructors fonts fry
|
||||||
init io.encodings.utf8 kernel math math.rectangles math.vectors
|
init io.encodings.utf8 kernel math math.rectangles math.vectors
|
||||||
memoize namespaces sequences ui.text ui.text.private
|
memoize namespaces sequences ui.text ui.text.private
|
||||||
gobject gobject.ffi pango pango.ffi pango.cairo pango.cairo.ffi ;
|
gobject.ffi pango.ffi pango.cairo.ffi ;
|
||||||
IN: ui.text.pango
|
IN: ui.text.pango
|
||||||
|
|
||||||
: pango>float ( n -- x ) PANGO_SCALE /f ; inline
|
: pango>float ( n -- x ) PANGO_SCALE /f ; inline
|
||||||
|
|
|
@ -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 gst.ffi glib.ffi gobject.ffi gtk gtk.ffi ;
|
gst.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"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
! 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.strings gtk gobject.ffi gtk.ffi io.encodings.utf8
|
USING: alien.strings gobject.ffi gtk.ffi io.encodings.utf8
|
||||||
kernel locals ;
|
kernel locals ;
|
||||||
IN: gir.samples.lowlevel.hello-world
|
IN: gir.samples.lowlevel.hello-world
|
||||||
|
|
||||||
|
|
|
@ -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: alien.c-types alien.strings byte-arrays classes.struct
|
USING: alien.c-types alien.strings byte-arrays classes.struct
|
||||||
gtk glib.ffi gobject.ffi gtk.ffi io.encodings.utf8 kernel
|
glib.ffi gobject.ffi gtk.ffi io.encodings.utf8 kernel
|
||||||
literals locals make math prettyprint sequences specialized-arrays
|
literals locals make math prettyprint sequences specialized-arrays
|
||||||
gir.samples.lowlevel.hello-world
|
gir.samples.lowlevel.hello-world
|
||||||
gir.samples.lowlevel.opengl
|
gir.samples.lowlevel.opengl
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
! 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.enums alien.strings gtk gobject.ffi gtk.ffi gdk.gl gtk.gl gdk.gl.ffi
|
USING: alien.enums alien.strings gobject.ffi gtk.ffi gdk.gl.ffi
|
||||||
gtk.gl.ffi io.encodings.utf8 kernel locals math opengl.gl prettyprint ;
|
gtk.gl.ffi io.encodings.utf8 kernel locals math opengl.gl prettyprint ;
|
||||||
IN: gir.samples.lowlevel.opengl
|
IN: gir.samples.lowlevel.opengl
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue