Merge branch 'master' of factorcode.org:/git/factor
commit
b6cf76b547
|
@ -1,9 +1,6 @@
|
|||
! Copyright (C) 2008, 2009 Slava Pestov.
|
||||
! Copyright (C) 2008, 2011 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: vocabs.loader kernel io.thread threads
|
||||
compiler.utilities namespaces ;
|
||||
IN: bootstrap.threads
|
||||
USE: vocabs.loader
|
||||
|
||||
{ "bootstrap.threads" "debugger" } "debugger.threads" require-when
|
||||
|
||||
[ yield ] yield-hook set-global
|
||||
"threads" require
|
||||
"io.thread" require
|
||||
|
|
|
@ -4,6 +4,7 @@ USING: accessors kernel namespaces arrays sequences io words fry
|
|||
continuations vocabs assocs definitions math graphs generic
|
||||
generic.single combinators combinators.smart macros
|
||||
source-files.errors combinators.short-circuit classes.algebra
|
||||
vocabs.loader
|
||||
|
||||
stack-checker stack-checker.dependencies stack-checker.inlining
|
||||
stack-checker.errors
|
||||
|
@ -181,3 +182,5 @@ M: optimizing-compiler process-forgotten-words
|
|||
|
||||
: disable-optimizer ( -- )
|
||||
f compiler-impl set-global ;
|
||||
|
||||
{ "threads" "compiler" } "compiler.threads" require-when
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Slava Pestov
|
|
@ -0,0 +1,12 @@
|
|||
! Copyright (C) 2011 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: alien.private compiler.utilities kernel namespaces
|
||||
stack-checker.alien threads threads.private ;
|
||||
IN: compiler.threads
|
||||
|
||||
[ yield ] yield-hook set-global
|
||||
|
||||
[
|
||||
dup current-callback eq?
|
||||
[ drop ] [ wait-for-callback ] if
|
||||
] wait-for-callback-hook set-global
|
|
@ -104,15 +104,10 @@ TUPLE: run-loop fds sources timers ;
|
|||
: (reset-timer) ( timer timestamp -- )
|
||||
>CFAbsoluteTime CFRunLoopTimerSetNextFireDate ;
|
||||
|
||||
: nano-count>micros ( x -- n )
|
||||
nano-count - 1,000 /f system-micros + ;
|
||||
|
||||
: reset-timer ( timer -- )
|
||||
{
|
||||
{ [ run-queue deque-empty? not ] [ system-micros ] }
|
||||
{ [ sleep-queue heap-empty? not ] [ sleep-queue heap-peek nip nano-count>micros ] }
|
||||
[ system-micros 1,000,000 + ]
|
||||
} cond (reset-timer) ;
|
||||
sleep-time
|
||||
[ 1000 /f ] [ 1,000,000 ] if* system-micros +
|
||||
(reset-timer) ;
|
||||
|
||||
PRIVATE>
|
||||
|
||||
|
|
|
@ -355,3 +355,5 @@ M: not-found-in-roots summary drop "Cannot resolve vocab: path" ;
|
|||
M: wrong-values summary drop "Quotation's stack effect does not match call site" ;
|
||||
|
||||
M: stack-effect-omits-dashes summary drop "Stack effect must contain “--”" ;
|
||||
|
||||
{ "threads" "debugger" } "debugger.threads" require-when
|
||||
|
|
|
@ -452,7 +452,7 @@ M: array elements*
|
|||
|
||||
: $definition-icons ( element -- )
|
||||
drop
|
||||
icons get >alist sort-keys
|
||||
icons get sort-keys
|
||||
[ [ <$link> ] [ definition-icon-path <$image> ] bi* swap ] assoc-map
|
||||
{ "" "Definition class" } prefix
|
||||
$table ;
|
||||
|
|
|
@ -20,6 +20,26 @@ HELP: <post-request>
|
|||
{ $description "Constructs an HTTP POST request for submitting post data to the URL." }
|
||||
{ $notes "The request can be passed on to " { $link http-request } ", possibly after cookies and headers are set." } ;
|
||||
|
||||
HELP: <head-request>
|
||||
{ $values { "url" "a " { $link url } " or " { $link string } } { "request" request } }
|
||||
{ $description "Constructs an HTTP HEAD request for retrieving the URL." }
|
||||
{ $notes "The request can be passed on to " { $link http-request } ", possibly after cookies and headers are set." } ;
|
||||
|
||||
HELP: <delete-request>
|
||||
{ $values { "url" "a " { $link url } " or " { $link string } } { "request" request } }
|
||||
{ $description "Constructs an HTTP DELETE request for the requested URL." }
|
||||
{ $notes "The request can be passed on to " { $link http-request } ", possibly after cookies and headers are set." } ;
|
||||
|
||||
HELP: <options-request>
|
||||
{ $values { "url" "a " { $link url } " or " { $link string } } { "request" request } }
|
||||
{ $description "Constructs an HTTP OPTIONS request for the requested URL." }
|
||||
{ $notes "The request can be passed on to " { $link http-request } ", possibly after cookies and headers are set." } ;
|
||||
|
||||
HELP: <trace-request>
|
||||
{ $values { "url" "a " { $link url } " or " { $link string } } { "request" request } }
|
||||
{ $description "Constructs an HTTP TRACE request for the requested URL." }
|
||||
{ $notes "The request can be passed on to " { $link http-request } ", possibly after cookies and headers are set." } ;
|
||||
|
||||
HELP: download
|
||||
{ $values { "url" "a " { $link url } " or " { $link string } } }
|
||||
{ $description "Downloads the contents of the URL to a file in the " { $link current-directory } " having the same file name." }
|
||||
|
@ -45,6 +65,26 @@ HELP: http-put
|
|||
{ $description "Submits an HTTP PUT request." }
|
||||
{ $errors "Throws an error if the HTTP request fails." } ;
|
||||
|
||||
HELP: http-head
|
||||
{ $values { "url" "a " { $link url } " or " { $link string } } { "response" response } { "data" sequence } }
|
||||
{ $description "Same as " { $link http-get } " except that the server is not supposed to return a message-body in the response, as per RFC2616. However in practise, most web servers respond to GET and HEAD method calls with identical responses." }
|
||||
{ $errors "Throws an error if the HTTP request fails." } ;
|
||||
|
||||
HELP: http-delete
|
||||
{ $values { "url" "a " { $link url } " or " { $link string } } { "response" response } { "data" sequence } }
|
||||
{ $description "Requests that the origin server delete the resource identified by the URL." }
|
||||
{ $errors "Throws an error if the HTTP request fails." } ;
|
||||
|
||||
HELP: http-options
|
||||
{ $values { "url" "a " { $link url } " or " { $link string } } { "response" response } { "data" sequence } }
|
||||
{ $description "Submits an HTTP OPTIONS request." }
|
||||
{ $errors "Throws an error if the HTTP request fails." } ;
|
||||
|
||||
HELP: http-trace
|
||||
{ $values { "url" "a " { $link url } " or " { $link string } } { "response" response } { "data" sequence } }
|
||||
{ $description "Submits an HTTP TRACE request." }
|
||||
{ $errors "Throws an error if the HTTP request fails." } ;
|
||||
|
||||
HELP: with-http-get
|
||||
{ $values { "url" "a " { $link url } " or " { $link string } } { "quot" { $quotation "( chunk -- )" } } { "response" response } }
|
||||
{ $description "Downloads the contents of a URL. Chunks of data are passed to the quotation as they are read." }
|
||||
|
@ -110,6 +150,39 @@ ARTICLE: "http.client.put" "PUT requests with the HTTP client"
|
|||
{ $subsections <post-request> }
|
||||
"Both words take a post data parameter; see " { $link "http.client.post-data" } "." ;
|
||||
|
||||
ARTICLE: "http.client.head" "HEAD requests with the HTTP client"
|
||||
"Basic usage involves passing a " { $link url } " and getting a " { $link response } " and data back:"
|
||||
{ $subsections http-head }
|
||||
"Advanced usage involves constructing a " { $link request } ", which allows " { $link "http.cookies" } " and " { $link "http.headers" } " to be set:"
|
||||
{ $subsections
|
||||
<head-request>
|
||||
} ;
|
||||
|
||||
ARTICLE: "http.client.delete" "DELETE requests with the HTTP client"
|
||||
"Basic usage involves passing a " { $link url } " and getting a " { $link response } " and data back:"
|
||||
{ $subsections http-delete }
|
||||
"Advanced usage involves constructing a " { $link request } ", which allows " { $link "http.cookies" } " and " { $link "http.headers" } " to be set:"
|
||||
{ $subsections
|
||||
<delete-request>
|
||||
} ;
|
||||
|
||||
ARTICLE: "http.client.options" "OPTIONS requests with the HTTP client"
|
||||
"Basic usage involves passing a " { $link url } " and getting a " { $link response } " and data back:"
|
||||
{ $subsections http-options }
|
||||
"Advanced usage involves constructing a " { $link request } ", which allows " { $link "http.cookies" } " and " { $link "http.headers" } " to be set:"
|
||||
{ $subsections
|
||||
<options-request>
|
||||
}
|
||||
"RFC2616 does not define any use for an entity body, yet allows for the inclusion of one as part of the OPTIONS method. This is not supported with this version of the http.client. The current implementation of http-options only supports a " { $link url } " request with no corresponding post-data, as per the stack effect." ;
|
||||
|
||||
ARTICLE: "http.client.trace" "TRACE requests with the HTTP client"
|
||||
"Basic usage involves passing a " { $link url } " and getting a " { $link response } " and data back:"
|
||||
{ $subsections http-trace }
|
||||
"Advanced usage involves constructing a " { $link request } ", which allows " { $link "http.cookies" } " and " { $link "http.headers" } " to be set:"
|
||||
{ $subsections
|
||||
<trace-request>
|
||||
} ;
|
||||
|
||||
ARTICLE: "http.client.encoding" "Character encodings and the HTTP client"
|
||||
"The " { $link http-request } ", " { $link http-get } " and " { $link http-post } " words output a sequence containing data that was sent by the server."
|
||||
$nl
|
||||
|
@ -139,6 +212,13 @@ $nl
|
|||
}
|
||||
"Submission data for POST and PUT requests:"
|
||||
{ $subsections "http.client.post-data" }
|
||||
"Other HTTP methods are also supported:"
|
||||
{ $subsections
|
||||
"http.client.head"
|
||||
"http.client.delete"
|
||||
"http.client.options"
|
||||
"http.client.trace"
|
||||
}
|
||||
"More esoteric use-cases, for example HTTP methods other than the above, are accommodated by constructing an empty request object with " { $link <request> } " and filling everything in by hand."
|
||||
{ $subsections
|
||||
"http.client.encoding"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
USING: http.client http.client.private http tools.test
|
||||
USING: accessors http.client http.client.private http tools.test
|
||||
namespaces urls ;
|
||||
IN: http.client.tests
|
||||
|
||||
|
@ -37,3 +37,9 @@ IN: http.client.tests
|
|||
"https://www.amazon.com/index.html"
|
||||
<get-request>
|
||||
] unit-test
|
||||
|
||||
[ "HEAD" ] [ "http://google.com" <head-request> method>> ] unit-test
|
||||
[ "DELETE" ] [ "http://arc.com" <delete-request> method>> ] unit-test
|
||||
[ "TRACE" ] [ "http://concatenative.org" <trace-request> method>> ] unit-test
|
||||
[ "OPTIONS" ] [ "http://factorcode.org" <options-request> method>> ] unit-test
|
||||
|
||||
|
|
|
@ -202,6 +202,24 @@ ERROR: download-failed response ;
|
|||
: http-delete ( url -- response data )
|
||||
<delete-request> http-request ;
|
||||
|
||||
: <head-request> ( url -- request )
|
||||
"HEAD" <client-request> ;
|
||||
|
||||
: http-head ( url -- response data )
|
||||
<head-request> http-request ;
|
||||
|
||||
: <options-request> ( url -- request )
|
||||
"OPTIONS" <client-request> ;
|
||||
|
||||
: http-options ( url -- response data )
|
||||
<options-request> http-request ;
|
||||
|
||||
: <trace-request> ( url -- request )
|
||||
"TRACE" <client-request> ;
|
||||
|
||||
: http-trace ( url -- response data )
|
||||
<trace-request> http-request ;
|
||||
|
||||
USE: vocabs.loader
|
||||
|
||||
{ "http.client" "debugger" } "http.client.debugger" require-when
|
||||
|
|
|
@ -37,7 +37,7 @@ CONSTANT: max-redirects 10
|
|||
[ "Header injection attack" throw ] when ;
|
||||
|
||||
: write-header ( assoc -- )
|
||||
>alist sort-keys [
|
||||
sort-keys [
|
||||
[ check-header-string write ": " write ]
|
||||
[ header-value>string check-header-string write crlf ] bi*
|
||||
] assoc-each crlf ;
|
||||
|
|
|
@ -260,11 +260,11 @@ ARTICLE: "io.launcher.examples" "Launcher examples"
|
|||
}
|
||||
"Running a command, appending error messages to a log file, and reading the output for further processing:"
|
||||
{ $code
|
||||
"\"log.txt\" <file-appender> ["
|
||||
"\"log.txt\" ascii <file-appender> ["
|
||||
" <process>"
|
||||
" swap >>stderr"
|
||||
" \"report\" >>command"
|
||||
" ascii <process-reader> lines sort reverse [ print ] each"
|
||||
" ascii <process-reader> stream-lines sort reverse [ print ] each"
|
||||
"] with-disposal"
|
||||
} ;
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ SYMBOL: message-histogram
|
|||
drop ;
|
||||
|
||||
: recent-histogram ( assoc n -- alist )
|
||||
[ >alist sort-values <reversed> ] dip short head ;
|
||||
[ sort-values <reversed> ] dip short head ;
|
||||
|
||||
: analyze-entries ( entries word-names -- errors word-histogram message-histogram )
|
||||
[
|
||||
|
|
|
@ -59,7 +59,7 @@ PRIVATE>
|
|||
swapd each-permutation ; inline
|
||||
|
||||
: inverse-permutation ( seq -- permutation )
|
||||
<enum> >alist sort-values keys ;
|
||||
<enum> sort-values keys ;
|
||||
|
||||
|
||||
! Combinadic-based combination methodology
|
||||
|
|
|
@ -98,7 +98,7 @@ PRIVATE>
|
|||
|
||||
MACRO: polyval* ( p -- )
|
||||
reverse
|
||||
[ 1 tail [ \ * swap \ + [ ] 3sequence ] map ]
|
||||
[ rest [ \ * swap \ + [ ] 3sequence ] map ]
|
||||
[ first \ drop swap [ ] 2sequence ] bi
|
||||
prefix \ cleave [ ] 2sequence ;
|
||||
|
||||
|
|
|
@ -11,7 +11,11 @@ HELP: prime?
|
|||
{ $values { "n" "an integer" } { "?" "a boolean" } }
|
||||
{ $description "Test if an integer is a prime number." } ;
|
||||
|
||||
{ primes-upto primes-between } related-words
|
||||
{ nprimes primes-upto primes-between } related-words
|
||||
|
||||
HELP: nprimes
|
||||
{ $values { "n" "a non-negative integer" } { "seq" "a sequence" } }
|
||||
{ $description "Return a sequence containing the " { $snippet "n" } " first primes numbers." } ;
|
||||
|
||||
HELP: primes-upto
|
||||
{ $values { "n" "an integer" } { "seq" "a sequence" } }
|
||||
|
|
|
@ -8,6 +8,11 @@ IN: math.primes.tests
|
|||
{ { 2 } } [ 2 primes-upto >array ] unit-test
|
||||
{ { } } [ 1 primes-upto >array ] unit-test
|
||||
{ { 999983 1000003 } } [ 999982 1000010 primes-between >array ] unit-test
|
||||
{ { } } [ 0 nprimes ] unit-test
|
||||
{ { 2 3 5 7 } } [ 4 nprimes ] unit-test
|
||||
{ t } [ 1000 nprimes [ prime? ] all? ] unit-test
|
||||
{ 1000 } [ 1000 nprimes length ] unit-test
|
||||
{ 1000 } [ 1000 nprimes last primes-upto length ] unit-test
|
||||
|
||||
{ { 4999963 4999999 5000011 5000077 5000081 } }
|
||||
[ 4999962 5000082 primes-between >array ] unit-test
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
! Copyright (C) 2007-2009 Samuel Tardieu.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: combinators combinators.short-circuit fry kernel math
|
||||
USING: combinators combinators.short-circuit fry kernel make math
|
||||
math.bitwise math.functions math.order math.primes.erato
|
||||
math.primes.erato.private math.primes.miller-rabin math.ranges
|
||||
literals random sequences sets vectors ;
|
||||
|
@ -66,6 +66,8 @@ PRIVATE>
|
|||
|
||||
: primes-upto ( n -- seq ) 2 swap primes-between ;
|
||||
|
||||
: nprimes ( n -- seq ) [ 2 swap [ dup , next-prime ] times ] { } make nip ;
|
||||
|
||||
: coprime? ( a b -- ? ) gcd nip 1 = ; foldable
|
||||
|
||||
: random-prime ( numbits -- p )
|
||||
|
|
|
@ -79,7 +79,7 @@ PRIVATE>
|
|||
[ ] [ inc-at ] sequence>hashtable ;
|
||||
|
||||
: sorted-histogram ( seq -- alist )
|
||||
histogram >alist sort-values ;
|
||||
histogram sort-values ;
|
||||
|
||||
: collect-pairs ( seq quot -- hashtable )
|
||||
[ push-at ] sequence>hashtable ; inline
|
||||
|
|
|
@ -47,7 +47,7 @@ IN: regexp.minimize
|
|||
over '[ drop first2 _ _ stay-same? ] assoc-filter ;
|
||||
|
||||
: partition>classes ( partitions -- synonyms ) ! old-state => new-state
|
||||
>alist sort-keys
|
||||
sort-keys
|
||||
[ drop first2 swap ] assoc-map
|
||||
<reversed>
|
||||
>hashtable ;
|
||||
|
|
|
@ -122,9 +122,13 @@ TUPLE: alien-callback-params < alien-node-params xt ;
|
|||
|
||||
GENERIC: wrap-callback-quot ( params quot -- quot' )
|
||||
|
||||
SYMBOL: wait-for-callback-hook
|
||||
|
||||
wait-for-callback-hook [ [ drop ] ] initialize
|
||||
|
||||
M: callable wrap-callback-quot
|
||||
swap [ callback-parameter-quot ] [ callback-return-quot ] bi surround
|
||||
yield-hook get
|
||||
wait-for-callback-hook get
|
||||
'[ _ _ do-callback ]
|
||||
>quotation ;
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
! Copyright (C) 2004, 2010 Slava Pestov.
|
||||
! Copyright (C) 2004, 2011 Slava Pestov.
|
||||
! Copyright (C) 2005 Mackenzie Straight.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: arrays hashtables heaps kernel kernel.private math
|
||||
namespaces sequences vectors continuations continuations.private
|
||||
USING: alien.private arrays hashtables heaps kernel kernel.private
|
||||
math namespaces sequences vectors continuations continuations.private
|
||||
dlists assocs system combinators init boxes accessors math.order
|
||||
deques strings quotations fry ;
|
||||
IN: threads
|
||||
|
@ -101,6 +101,9 @@ PRIVATE>
|
|||
: sleep-queue ( -- heap )
|
||||
66 special-object { min-heap } declare ; inline
|
||||
|
||||
: waiting-callbacks ( -- assoc )
|
||||
68 special-object { hashtable } declare ; inline
|
||||
|
||||
: new-thread ( quot name class -- thread )
|
||||
new
|
||||
swap >>name
|
||||
|
@ -123,6 +126,7 @@ PRIVATE>
|
|||
|
||||
: sleep-time ( -- nanos/f )
|
||||
{
|
||||
{ [ current-callback waiting-callbacks key? ] [ 0 ] }
|
||||
{ [ run-queue deque-empty? not ] [ 0 ] }
|
||||
{ [ sleep-queue heap-empty? ] [ f ] }
|
||||
[ sleep-queue heap-peek nip nano-count [-] ]
|
||||
|
@ -176,8 +180,13 @@ M: thread (next)
|
|||
[ context>> box> set-context-and-delete ]
|
||||
[ t >>runnable drop [start] start-context-and-delete ] if ;
|
||||
|
||||
: wake-up-callbacks ( -- )
|
||||
current-callback waiting-callbacks delete-at*
|
||||
[ resume-now ] [ drop ] if ;
|
||||
|
||||
: next ( -- obj thread )
|
||||
expire-sleep-loop
|
||||
wake-up-callbacks
|
||||
run-queue pop-back
|
||||
dup array? [ first2 ] [ [ f ] dip ] if
|
||||
f >>state
|
||||
|
@ -230,7 +239,8 @@ GENERIC: error-in-thread ( error thread -- )
|
|||
: init-thread-state ( -- )
|
||||
H{ } clone 64 set-special-object
|
||||
<dlist> 65 set-special-object
|
||||
<min-heap> 66 set-special-object ;
|
||||
<min-heap> 66 set-special-object
|
||||
H{ } clone 68 set-special-object ;
|
||||
|
||||
: init-initial-thread ( -- )
|
||||
[ ] "Initial" <thread>
|
||||
|
@ -244,6 +254,10 @@ GENERIC: error-in-thread ( error thread -- )
|
|||
init-thread-state
|
||||
init-initial-thread ;
|
||||
|
||||
: wait-for-callback ( callback -- )
|
||||
self swap waiting-callbacks set-at
|
||||
"Callback return" suspend drop ;
|
||||
|
||||
PRIVATE>
|
||||
|
||||
[ init-threads ] "threads" add-startup-hook
|
||||
|
|
|
@ -28,7 +28,7 @@ IN: tools.threads
|
|||
[ [ write ] with-cell ] each
|
||||
] with-row
|
||||
|
||||
threads >alist sort-keys values [
|
||||
threads sort-keys values [
|
||||
[ thread. ] with-row
|
||||
] each
|
||||
] tabular-output nl ;
|
||||
|
|
|
@ -217,7 +217,6 @@ M: cocoa-ui-backend beep ( -- )
|
|||
NSBeep ;
|
||||
|
||||
M: cocoa-ui-backend system-alert
|
||||
invalidate-run-loop-timers
|
||||
NSAlert -> alloc -> init -> autorelease [
|
||||
{
|
||||
[ swap <NSString> -> setInformativeText: ]
|
||||
|
@ -225,8 +224,7 @@ M: cocoa-ui-backend system-alert
|
|||
[ "OK" <NSString> -> addButtonWithTitle: drop ]
|
||||
[ -> runModal drop ]
|
||||
} cleave
|
||||
] [ 2drop ] if*
|
||||
init-thread-timer ;
|
||||
] [ 2drop ] if* ;
|
||||
|
||||
CLASS: FactorApplicationDelegate < NSObject
|
||||
[
|
||||
|
|
|
@ -59,7 +59,7 @@ M: source-file-renderer column-alignment drop { 0 0 1 } ;
|
|||
M: source-file-renderer filled-column drop 1 ;
|
||||
|
||||
: <source-file-model> ( model -- model' )
|
||||
[ group-by-source-file >alist sort-keys ] <arrow> ;
|
||||
[ group-by-source-file sort-keys ] <arrow> ;
|
||||
|
||||
:: <source-file-table> ( error-list -- table )
|
||||
error-list model>> <source-file-model>
|
||||
|
|
|
@ -141,7 +141,7 @@ PRIVATE>
|
|||
2dup bounds-check? [ set-nth ] [ 3drop ] if ;
|
||||
|
||||
:: fill-ranges ( table -- table )
|
||||
name-map >alist sort-values keys
|
||||
name-map sort-values keys
|
||||
[ { [ "first>" tail? ] [ "last>" tail? ] } 1|| ] filter
|
||||
2 group [
|
||||
[ name>char ] bi@ [ [a,b] ] [ table ?nth ] bi
|
||||
|
|
|
@ -67,7 +67,7 @@ M: interpolated [undo-xml]
|
|||
|
||||
: >enum ( assoc -- enum )
|
||||
! Assumes keys are 0..n
|
||||
>alist sort-keys values <enum> ;
|
||||
sort-keys values <enum> ;
|
||||
|
||||
: undo-xml ( xml -- quot )
|
||||
[undo-xml] '[ H{ } clone [ _ bind ] keep >enum ] ;
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
John Benediktsson
|
|
@ -0,0 +1,27 @@
|
|||
! Copyright (C) 2011 John Benediktsson
|
||||
! See http://factorcode.org/license.txt for BSD license
|
||||
|
||||
USING: help.markup help.syntax sequences strings xmode.catalog
|
||||
xmode.highlight xmode.tokens ;
|
||||
|
||||
IN: xmode.highlight
|
||||
|
||||
HELP: highlight-tokens
|
||||
{ $values { "tokens" sequence } }
|
||||
{ $description
|
||||
"Highlight a sequence of " { $link token } " objects."
|
||||
} ;
|
||||
|
||||
HELP: highlight-lines
|
||||
{ $values { "lines" sequence } { "mode" string } }
|
||||
{ $description
|
||||
"Highlight lines of code, according to the specified " { $link mode }
|
||||
"."
|
||||
} ;
|
||||
|
||||
HELP: highlight.
|
||||
{ $values { "path" string } }
|
||||
{ $description
|
||||
"Highlight and print code from the specified file (represented by "
|
||||
{ $snippet "path" } "). The mode is determined using the file extension."
|
||||
} ;
|
|
@ -0,0 +1,61 @@
|
|||
! Copyright (C) 2011 John Benediktsson
|
||||
! See http://factorcode.org/license.txt for BSD license
|
||||
|
||||
USING: accessors assocs colors.hex io io.encodings.utf8 io.files
|
||||
io.styles kernel locals math math.parser namespaces sequences
|
||||
xmode.catalog xmode.marker ;
|
||||
|
||||
IN: xmode.highlight
|
||||
|
||||
<PRIVATE
|
||||
|
||||
CONSTANT: STYLES H{
|
||||
{ "NULL" H{ { foreground HEXCOLOR: 000000 } } }
|
||||
{ "COMMENT1" H{ { foreground HEXCOLOR: cc0000 } } }
|
||||
{ "COMMENT2" H{ { foreground HEXCOLOR: ff8400 } } }
|
||||
{ "COMMENT3" H{ { foreground HEXCOLOR: 6600cc } } }
|
||||
{ "COMMENT4" H{ { foreground HEXCOLOR: cc6600 } } }
|
||||
{ "DIGIT" H{ { foreground HEXCOLOR: ff0000 } } }
|
||||
{ "FUNCTION" H{ { foreground HEXCOLOR: 9966ff } } }
|
||||
{ "INVALID" H{ { background HEXCOLOR: ffffcc }
|
||||
{ foreground HEXCOLOR: ff0066 } } }
|
||||
{ "KEYWORD1" H{ { foreground HEXCOLOR: 006699 }
|
||||
{ font-style bold } } }
|
||||
{ "KEYWORD2" H{ { foreground HEXCOLOR: 009966 }
|
||||
{ font-style bold } } }
|
||||
{ "KEYWORD3" H{ { foreground HEXCOLOR: 0099ff }
|
||||
{ font-style bold } } }
|
||||
{ "KEYWORD4" H{ { foreground HEXCOLOR: 66ccff }
|
||||
{ font-style bold } } }
|
||||
{ "LABEL" H{ { foreground HEXCOLOR: 02b902 } } }
|
||||
{ "LITERAL1" H{ { foreground HEXCOLOR: ff00cc } } }
|
||||
{ "LITERAL2" H{ { foreground HEXCOLOR: cc00cc } } }
|
||||
{ "LITERAL3" H{ { foreground HEXCOLOR: 9900cc } } }
|
||||
{ "LITERAL4" H{ { foreground HEXCOLOR: 6600cc } } }
|
||||
{ "MARKUP" H{ { foreground HEXCOLOR: 0000ff } } }
|
||||
{ "OPERATOR" H{ { foreground HEXCOLOR: 000000 }
|
||||
{ font-style bold } } }
|
||||
}
|
||||
|
||||
CONSTANT: BASE H{
|
||||
{ font-name "monospace" }
|
||||
}
|
||||
|
||||
PRIVATE>
|
||||
|
||||
: highlight-tokens ( tokens -- )
|
||||
[
|
||||
[ str>> ] [ id>> ] bi
|
||||
[ name>> STYLES at ] [ f ] if* BASE assoc-union
|
||||
format
|
||||
] each nl ;
|
||||
|
||||
: highlight-lines ( lines mode -- )
|
||||
[ f ] 2dip load-mode [
|
||||
tokenize-line highlight-tokens
|
||||
] curry each drop ;
|
||||
|
||||
:: highlight. ( path -- )
|
||||
path utf8 file-lines [
|
||||
path over first find-mode highlight-lines
|
||||
] unless-empty ;
|
|
@ -0,0 +1 @@
|
|||
Syntax highlighting tool
|
|
@ -101,21 +101,12 @@ SYMBOL: callbacks
|
|||
|
||||
[ H{ } clone callbacks set-global ] "alien" add-startup-hook
|
||||
|
||||
! Every callback invocation has a unique identifier in the VM.
|
||||
! We make sure that the current callback is the right one before
|
||||
! returning from it, to avoid a bad interaction between threads
|
||||
! and callbacks. See basis/compiler/tests/alien.factor for a
|
||||
! test case.
|
||||
: wait-to-return ( yield-quot: ( -- ) callback-id -- )
|
||||
dup current-callback eq?
|
||||
[ 2drop ] [ over call wait-to-return ] if ; inline recursive
|
||||
|
||||
! Used by compiler.codegen to wrap callback bodies
|
||||
: do-callback ( callback-quot yield-quot: ( -- ) -- )
|
||||
: do-callback ( callback-quot wait-quot: ( callback -- ) -- )
|
||||
init-namespaces
|
||||
init-catchstack
|
||||
current-callback
|
||||
[ 2drop call ] [ wait-to-return drop ] 3bi ; inline
|
||||
[ 2drop call ] [ swap call( callback -- ) drop ] 3bi ; inline
|
||||
|
||||
! A utility for defining global variables that are recompiled in
|
||||
! every session
|
||||
|
|
|
@ -24,7 +24,7 @@ ARTICLE: "enums" "Enumerations"
|
|||
<enum>
|
||||
}
|
||||
"Inverting a permutation using enumerations:"
|
||||
{ $example "IN: scratchpad" ": invert ( perm -- perm' )" " <enum> >alist sort-values keys ;" "{ 2 0 4 1 3 } invert ." "{ 1 3 0 4 2 }" } ;
|
||||
{ $example "IN: scratchpad" ": invert ( perm -- perm' )" " <enum> sort-values keys ;" "{ 2 0 4 1 3 } invert ." "{ 1 3 0 4 2 }" } ;
|
||||
|
||||
HELP: enum
|
||||
{ $class-description "An associative structure which wraps a sequence and maps integers to the corresponding elements of the sequence."
|
||||
|
|
|
@ -36,12 +36,12 @@ HELP: inv-sort-with
|
|||
{ $description "Sorts the elements of " { $snippet "seq" } " by applying " { $link compare } " with " { $snippet "quot" } " to each pair of elements in the sequence and inverting the results." } ;
|
||||
|
||||
HELP: sort-keys
|
||||
{ $values { "seq" "an alist" } { "sortedseq" "a new sorted sequence" } }
|
||||
{ $description "Sorts the elements of " { $snippet "seq" } " comparing first elements of pairs using the " { $link <=> } " word." } ;
|
||||
{ $values { "obj" "an object" } { "sortedseq" "a new sorted sequence" } }
|
||||
{ $description "Sorts the elements of " { $snippet "obj" } " (converting to an alist first if not a sequence), comparing first elements of pairs using the " { $link <=> } " word." } ;
|
||||
|
||||
HELP: sort-values
|
||||
{ $values { "seq" "an alist" } { "sortedseq" "a new sorted sequence" } }
|
||||
{ $description "Sorts the elements of " { $snippet "seq" } " comparing second elements of pairs using the " { $link <=> } " word." } ;
|
||||
{ $values { "obj" "an object" } { "sortedseq" "a new sorted sequence" } }
|
||||
{ $description "Sorts the elements of " { $snippet "obj" } " (converting to an alist first if not a sequence), comparing second elements of pairs using the " { $link <=> } " word." } ;
|
||||
|
||||
HELP: natural-sort
|
||||
{ $values { "seq" "a sequence of real numbers" } { "sortedseq" "a new sorted sequence" } }
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
! Copyright (C) 2005, 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays kernel math vectors math.order
|
||||
USING: accessors arrays assocs kernel math vectors math.order
|
||||
sequences sequences.private ;
|
||||
IN: sorting
|
||||
|
||||
|
@ -160,8 +160,16 @@ PRIVATE>
|
|||
: inv-sort-with ( seq quot -- sortedseq )
|
||||
[ compare invert-comparison ] curry sort ; inline
|
||||
|
||||
: sort-keys ( seq -- sortedseq ) [ first ] sort-with ;
|
||||
GENERIC: sort-keys ( obj -- sortedseq )
|
||||
|
||||
: sort-values ( seq -- sortedseq ) [ second ] sort-with ;
|
||||
M: object sort-keys >alist sort-keys ;
|
||||
|
||||
M: sequence sort-keys [ first ] sort-with ;
|
||||
|
||||
GENERIC: sort-values ( obj -- sortedseq )
|
||||
|
||||
M: object sort-values >alist sort-values ;
|
||||
|
||||
M: sequence sort-values [ second ] sort-with ;
|
||||
|
||||
: sort-pair ( a b -- c d ) 2dup after? [ swap ] when ;
|
||||
|
|
|
@ -19,7 +19,7 @@ CONSTANT: knucleotide-in "vocab:benchmark/knucleotide/knucleotide-input.txt"
|
|||
|
||||
: handle-table ( inputs n -- )
|
||||
<clumps>
|
||||
[ histogram >alist sort-values reverse ] [ length ] bi
|
||||
[ histogram sort-values reverse ] [ length ] bi
|
||||
'[
|
||||
[ first write bl ]
|
||||
[ second 100 * _ /f "%.3f" printf nl ] bi
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,707 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- This file was automatically generated from C sources - DO NOT EDIT!
|
||||
To affect the contents of this file, edit the original C definitions,
|
||||
and/or use gtk-doc annotations. -->
|
||||
<repository version="1.2"
|
||||
xmlns="http://www.gtk.org/introspection/core/1.0"
|
||||
xmlns:c="http://www.gtk.org/introspection/c/1.0"
|
||||
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
|
||||
<include name="Atk" version="1.0"/>
|
||||
<include name="Clutter" version="1.0"/>
|
||||
<include name="Cogl" version="1.0"/>
|
||||
<include name="GL" version="1.0"/>
|
||||
<include name="GLib" version="2.0"/>
|
||||
<include name="GObject" version="2.0"/>
|
||||
<include name="Gio" version="2.0"/>
|
||||
<include name="Json" version="1.0"/>
|
||||
<include name="Pango" version="1.0"/>
|
||||
<include name="PangoCairo" version="1.0"/>
|
||||
<include name="PangoFT2" version="1.0"/>
|
||||
<include name="cairo" version="1.0"/>
|
||||
<include name="fontconfig" version="2.0"/>
|
||||
<include name="freetype2" version="2.0"/>
|
||||
<package name="cally-1.0"/>
|
||||
<c:include name="cally/cally.h"/>
|
||||
<namespace name="Cally"
|
||||
version="1.0"
|
||||
shared-library="libclutter-glx-1.0.so.0"
|
||||
c:identifier-prefixes="Cally"
|
||||
c:symbol-prefixes="cally">
|
||||
<callback name="ActionCallback" c:type="CallyActionCallback" version="1.6">
|
||||
<doc xml:whitespace="preserve">Action function, to be used on #AtkAction implementations as
|
||||
an individual action. Unlike #CallyActionFunc, this function
|
||||
uses the @user_data argument passed to cally_actor_add_action_full().</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="cally_actor" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #CallyActor</doc>
|
||||
<type name="Actor" c:type="CallyActor*"/>
|
||||
</parameter>
|
||||
<parameter name="user_data" transfer-ownership="none" closure="1">
|
||||
<doc xml:whitespace="preserve">user data passed to the function</doc>
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</callback>
|
||||
<callback name="ActionFunc" c:type="CallyActionFunc" version="1.4">
|
||||
<doc xml:whitespace="preserve">Action function, to be used on #AtkAction implementations as a individual
|
||||
action</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="cally_actor" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #CallyActor</doc>
|
||||
<type name="Actor" c:type="CallyActor*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</callback>
|
||||
<class name="Actor"
|
||||
c:symbol-prefix="actor"
|
||||
c:type="CallyActor"
|
||||
version="1.4"
|
||||
parent="Atk.GObjectAccessible"
|
||||
glib:type-name="CallyActor"
|
||||
glib:get-type="cally_actor_get_type"
|
||||
glib:type-struct="ActorClass">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyActor</structname> structure contains only private
|
||||
data and should be accessed using the provided API</doc>
|
||||
<implements name="Atk.Action"/>
|
||||
<implements name="Atk.Component"/>
|
||||
<constructor name="new" c:identifier="cally_actor_new" version="1.4">
|
||||
<doc xml:whitespace="preserve">Creates a new #CallyActor for the given @actor</doc>
|
||||
<return-value transfer-ownership="full">
|
||||
<doc xml:whitespace="preserve">the newly created #AtkObject</doc>
|
||||
<type name="Atk.Object" c:type="AtkObject*"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="actor" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #ClutterActor</doc>
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</constructor>
|
||||
<method name="add_action"
|
||||
c:identifier="cally_actor_add_action"
|
||||
shadowed-by="add_action_full"
|
||||
version="1.4"
|
||||
introspectable="0">
|
||||
<doc xml:whitespace="preserve">Adds a new action to be accessed with the #AtkAction interface.</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">added action id, or -1 if failure</doc>
|
||||
<type name="guint" c:type="guint"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="action_name" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the action name</doc>
|
||||
<type name="utf8" c:type="gchar*"/>
|
||||
</parameter>
|
||||
<parameter name="action_description" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the action description</doc>
|
||||
<type name="utf8" c:type="gchar*"/>
|
||||
</parameter>
|
||||
<parameter name="action_keybinding" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the action keybinding</doc>
|
||||
<type name="utf8" c:type="gchar*"/>
|
||||
</parameter>
|
||||
<parameter name="action_func" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the callback of the action, to be executed with do_action</doc>
|
||||
<type name="ActionFunc" c:type="CallyActionFunc"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="add_action_full"
|
||||
c:identifier="cally_actor_add_action_full"
|
||||
shadows="add_action"
|
||||
version="1.6">
|
||||
<doc xml:whitespace="preserve">Adds a new action to be accessed with the #AtkAction interface.</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">added action id, or -1 if failure</doc>
|
||||
<type name="guint" c:type="guint"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="action_name" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the action name</doc>
|
||||
<type name="utf8" c:type="gchar*"/>
|
||||
</parameter>
|
||||
<parameter name="action_description" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the action description</doc>
|
||||
<type name="utf8" c:type="gchar*"/>
|
||||
</parameter>
|
||||
<parameter name="action_keybinding" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the action keybinding</doc>
|
||||
<type name="utf8" c:type="gchar*"/>
|
||||
</parameter>
|
||||
<parameter name="callback"
|
||||
transfer-ownership="none"
|
||||
scope="notified"
|
||||
closure="4"
|
||||
destroy="5">
|
||||
<doc xml:whitespace="preserve">the callback of the action</doc>
|
||||
<type name="ActionCallback" c:type="CallyActionCallback"/>
|
||||
</parameter>
|
||||
<parameter name="user_data" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">data to be passed to @callback</doc>
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</parameter>
|
||||
<parameter name="notify" transfer-ownership="none" scope="async">
|
||||
<doc xml:whitespace="preserve">function to be called when removing the action</doc>
|
||||
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="remove_action"
|
||||
c:identifier="cally_actor_remove_action"
|
||||
version="1.4">
|
||||
<doc xml:whitespace="preserve">Removes a action, using the @action_id returned by cally_actor_add_action()</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">%TRUE if the operation was succesful, %FALSE otherwise</doc>
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="action_id" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the action id</doc>
|
||||
<type name="gint" c:type="gint"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="remove_action_by_name"
|
||||
c:identifier="cally_actor_remove_action_by_name"
|
||||
version="1.4">
|
||||
<doc xml:whitespace="preserve">Removes an action, using the @action_name used when the action was added
|
||||
with cally_actor_add_action()</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">%TRUE if the operation was succesful, %FALSE otherwise</doc>
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="action_name" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the name of the action to remove</doc>
|
||||
<type name="utf8" c:type="gchar*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</method>
|
||||
<field name="parent" readable="0" private="1">
|
||||
<type name="Atk.GObjectAccessible" c:type="AtkGObjectAccessible"/>
|
||||
</field>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="ActorPrivate" c:type="CallyActorPrivate*"/>
|
||||
</field>
|
||||
</class>
|
||||
<record name="ActorClass"
|
||||
c:type="CallyActorClass"
|
||||
glib:is-gtype-struct-for="Actor"
|
||||
version="1.4">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyActorClass</structname> structure contains only
|
||||
private data</doc>
|
||||
<field name="parent_class" readable="0" private="1">
|
||||
<type name="Atk.GObjectAccessibleClass"
|
||||
c:type="AtkGObjectAccessibleClass"/>
|
||||
</field>
|
||||
<field name="notify_clutter">
|
||||
<callback name="notify_clutter">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="object" transfer-ownership="none">
|
||||
<type name="GObject.Object" c:type="GObject*"/>
|
||||
</parameter>
|
||||
<parameter name="pspec" transfer-ownership="none">
|
||||
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="focus_clutter">
|
||||
<callback name="focus_clutter">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="actor" transfer-ownership="none">
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</parameter>
|
||||
<parameter name="data" transfer-ownership="none">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="add_actor">
|
||||
<callback name="add_actor">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="gint" c:type="gint"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="container" transfer-ownership="none">
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</parameter>
|
||||
<parameter name="actor" transfer-ownership="none">
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</parameter>
|
||||
<parameter name="data" transfer-ownership="none">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="remove_actor">
|
||||
<callback name="remove_actor">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="gint" c:type="gint"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="container" transfer-ownership="none">
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</parameter>
|
||||
<parameter name="actor" transfer-ownership="none">
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</parameter>
|
||||
<parameter name="data" transfer-ownership="none">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_padding_dummy" readable="0" private="1">
|
||||
<array zero-terminated="0" c:type="gpointer" fixed-size="32">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</array>
|
||||
</field>
|
||||
</record>
|
||||
<record name="ActorPrivate" c:type="CallyActorPrivate" disguised="1">
|
||||
</record>
|
||||
<class name="Clone"
|
||||
c:symbol-prefix="clone"
|
||||
c:type="CallyClone"
|
||||
version="1.4"
|
||||
parent="Actor"
|
||||
glib:type-name="CallyClone"
|
||||
glib:get-type="cally_clone_get_type"
|
||||
glib:type-struct="CloneClass">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyClone</structname> structure contains only private
|
||||
data and should be accessed using the provided API</doc>
|
||||
<implements name="Atk.Action"/>
|
||||
<implements name="Atk.Component"/>
|
||||
<constructor name="new" c:identifier="cally_clone_new" version="1.4">
|
||||
<doc xml:whitespace="preserve">Creates a new #CallyClone for the given @actor. @actor must be a
|
||||
#ClutterClone.</doc>
|
||||
<return-value transfer-ownership="full">
|
||||
<doc xml:whitespace="preserve">the newly created #AtkObject</doc>
|
||||
<type name="Atk.Object" c:type="AtkObject*"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="actor" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #ClutterActor</doc>
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</constructor>
|
||||
<field name="parent" readable="0" private="1">
|
||||
<type name="Actor" c:type="CallyActor"/>
|
||||
</field>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="ClonePrivate" c:type="CallyClonePrivate*"/>
|
||||
</field>
|
||||
</class>
|
||||
<record name="CloneClass"
|
||||
c:type="CallyCloneClass"
|
||||
glib:is-gtype-struct-for="Clone"
|
||||
version="1.4">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyCloneClass</structname> structure contains only
|
||||
private data</doc>
|
||||
<field name="parent_class" readable="0" private="1">
|
||||
<type name="ActorClass" c:type="CallyActorClass"/>
|
||||
</field>
|
||||
<field name="_padding_dummy" readable="0" private="1">
|
||||
<array zero-terminated="0" c:type="gpointer" fixed-size="8">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</array>
|
||||
</field>
|
||||
</record>
|
||||
<record name="ClonePrivate" c:type="CallyClonePrivate" disguised="1">
|
||||
</record>
|
||||
<class name="Group"
|
||||
c:symbol-prefix="group"
|
||||
c:type="CallyGroup"
|
||||
version="1.4"
|
||||
parent="Actor"
|
||||
glib:type-name="CallyGroup"
|
||||
glib:get-type="cally_group_get_type"
|
||||
glib:type-struct="GroupClass">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyGroup</structname> structure contains only
|
||||
private data and should be accessed using the provided API</doc>
|
||||
<implements name="Atk.Action"/>
|
||||
<implements name="Atk.Component"/>
|
||||
<constructor name="new" c:identifier="cally_group_new" version="1.4">
|
||||
<doc xml:whitespace="preserve">Creates a #CallyGroup for @actor</doc>
|
||||
<return-value transfer-ownership="full">
|
||||
<doc xml:whitespace="preserve">the newly created #CallyGroup</doc>
|
||||
<type name="Atk.Object" c:type="AtkObject*"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="actor" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #ClutterGroup</doc>
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</constructor>
|
||||
<field name="parent" readable="0" private="1">
|
||||
<type name="Actor" c:type="CallyActor"/>
|
||||
</field>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="GroupPrivate" c:type="CallyGroupPrivate*"/>
|
||||
</field>
|
||||
</class>
|
||||
<record name="GroupClass"
|
||||
c:type="CallyGroupClass"
|
||||
glib:is-gtype-struct-for="Group"
|
||||
version="1.4">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyGroupClass</structname> structure contains only
|
||||
private data</doc>
|
||||
<field name="parent_class" readable="0" private="1">
|
||||
<type name="ActorClass" c:type="CallyActorClass"/>
|
||||
</field>
|
||||
<field name="_padding_dummy" readable="0" private="1">
|
||||
<array zero-terminated="0" c:type="gpointer" fixed-size="8">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</array>
|
||||
</field>
|
||||
</record>
|
||||
<record name="GroupPrivate" c:type="CallyGroupPrivate" disguised="1">
|
||||
</record>
|
||||
<class name="Rectangle"
|
||||
c:symbol-prefix="rectangle"
|
||||
c:type="CallyRectangle"
|
||||
version="1.4"
|
||||
parent="Actor"
|
||||
glib:type-name="CallyRectangle"
|
||||
glib:get-type="cally_rectangle_get_type"
|
||||
glib:type-struct="RectangleClass">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyRectangle</structname> structure contains only private
|
||||
data and should be accessed using the provided API</doc>
|
||||
<implements name="Atk.Action"/>
|
||||
<implements name="Atk.Component"/>
|
||||
<constructor name="new" c:identifier="cally_rectangle_new" version="1.4">
|
||||
<doc xml:whitespace="preserve">Creates a new #CallyRectangle for the given @actor. @actor must be
|
||||
a #ClutterRectangle.</doc>
|
||||
<return-value transfer-ownership="full">
|
||||
<doc xml:whitespace="preserve">the newly created #AtkObject</doc>
|
||||
<type name="Atk.Object" c:type="AtkObject*"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="actor" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #ClutterActor</doc>
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</constructor>
|
||||
<field name="parent" readable="0" private="1">
|
||||
<type name="Actor" c:type="CallyActor"/>
|
||||
</field>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="RectanglePrivate" c:type="CallyRectanglePrivate*"/>
|
||||
</field>
|
||||
</class>
|
||||
<record name="RectangleClass"
|
||||
c:type="CallyRectangleClass"
|
||||
glib:is-gtype-struct-for="Rectangle"
|
||||
version="1.4">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyRectangleClass</structname> structure contains
|
||||
only private data</doc>
|
||||
<field name="parent_class" readable="0" private="1">
|
||||
<type name="ActorClass" c:type="CallyActorClass"/>
|
||||
</field>
|
||||
<field name="_padding_dummy" readable="0" private="1">
|
||||
<array zero-terminated="0" c:type="gpointer" fixed-size="8">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</array>
|
||||
</field>
|
||||
</record>
|
||||
<record name="RectanglePrivate"
|
||||
c:type="CallyRectanglePrivate"
|
||||
disguised="1">
|
||||
</record>
|
||||
<class name="Root"
|
||||
c:symbol-prefix="root"
|
||||
c:type="CallyRoot"
|
||||
version="1.4"
|
||||
parent="Atk.GObjectAccessible"
|
||||
glib:type-name="CallyRoot"
|
||||
glib:get-type="cally_root_get_type"
|
||||
glib:type-struct="RootClass">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyRoot</structname> structure contains only private
|
||||
data and should be accessed using the provided API</doc>
|
||||
<constructor name="new" c:identifier="cally_root_new" version="1.4">
|
||||
<doc xml:whitespace="preserve">Creates a new #CallyRoot object.</doc>
|
||||
<return-value transfer-ownership="full">
|
||||
<doc xml:whitespace="preserve">the newly created #AtkObject</doc>
|
||||
<type name="Atk.Object" c:type="AtkObject*"/>
|
||||
</return-value>
|
||||
</constructor>
|
||||
<field name="parent" readable="0" private="1">
|
||||
<type name="Atk.GObjectAccessible" c:type="AtkGObjectAccessible"/>
|
||||
</field>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="RootPrivate" c:type="CallyRootPrivate*"/>
|
||||
</field>
|
||||
</class>
|
||||
<record name="RootClass"
|
||||
c:type="CallyRootClass"
|
||||
glib:is-gtype-struct-for="Root"
|
||||
version="1.4">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyRootClass</structname> structure contains only
|
||||
private data</doc>
|
||||
<field name="parent_class" readable="0" private="1">
|
||||
<type name="Atk.GObjectAccessibleClass"
|
||||
c:type="AtkGObjectAccessibleClass"/>
|
||||
</field>
|
||||
<field name="_padding_dummy" readable="0" private="1">
|
||||
<array zero-terminated="0" c:type="gpointer" fixed-size="16">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</array>
|
||||
</field>
|
||||
</record>
|
||||
<record name="RootPrivate" c:type="CallyRootPrivate" disguised="1">
|
||||
</record>
|
||||
<class name="Stage"
|
||||
c:symbol-prefix="stage"
|
||||
c:type="CallyStage"
|
||||
version="1.4"
|
||||
parent="Group"
|
||||
glib:type-name="CallyStage"
|
||||
glib:get-type="cally_stage_get_type"
|
||||
glib:type-struct="StageClass">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyStage</structname> structure contains only
|
||||
private data and should be accessed using the provided API</doc>
|
||||
<implements name="Atk.Action"/>
|
||||
<implements name="Atk.Component"/>
|
||||
<constructor name="new" c:identifier="cally_stage_new" version="1.4">
|
||||
<doc xml:whitespace="preserve">Creates a new #CallyStage for the given @actor. @actor should be a
|
||||
#ClutterStage.</doc>
|
||||
<return-value transfer-ownership="full">
|
||||
<doc xml:whitespace="preserve">the newly created #AtkObject</doc>
|
||||
<type name="Atk.Object" c:type="AtkObject*"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="actor" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #ClutterActor</doc>
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</constructor>
|
||||
<field name="parent" readable="0" private="1">
|
||||
<type name="Group" c:type="CallyGroup"/>
|
||||
</field>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="StagePrivate" c:type="CallyStagePrivate*"/>
|
||||
</field>
|
||||
<glib:signal name="activate" version="1.4">
|
||||
<doc xml:whitespace="preserve">The ::activate signal is emitted when the stage receives the key
|
||||
focus from the underlying window system.
|
||||
event listener to "window:activate"</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none"/>
|
||||
</return-value>
|
||||
</glib:signal>
|
||||
<glib:signal name="create" version="1.4">
|
||||
<doc xml:whitespace="preserve">The ::create signal is emitted when the stage is created.
|
||||
event listener to "window:create"</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none"/>
|
||||
</return-value>
|
||||
</glib:signal>
|
||||
<glib:signal name="deactivate" version="1.4">
|
||||
<doc xml:whitespace="preserve">The ::deactivate signal is emitted when the stage loses key focus
|
||||
from the underlying window system.
|
||||
event listener to "window:deactivate"</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none"/>
|
||||
</return-value>
|
||||
</glib:signal>
|
||||
<glib:signal name="destroy" version="1.4">
|
||||
<doc xml:whitespace="preserve">The ::destroy signal is emitted when the stage is destroyed.
|
||||
event listener to "window:destroy"</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none"/>
|
||||
</return-value>
|
||||
</glib:signal>
|
||||
</class>
|
||||
<record name="StageClass"
|
||||
c:type="CallyStageClass"
|
||||
glib:is-gtype-struct-for="Stage"
|
||||
version="1.4">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyStageClass</structname> structure contains only
|
||||
private data</doc>
|
||||
<field name="parent_class" readable="0" private="1">
|
||||
<type name="GroupClass" c:type="CallyGroupClass"/>
|
||||
</field>
|
||||
<field name="_padding_dummy" readable="0" private="1">
|
||||
<array zero-terminated="0" c:type="gpointer" fixed-size="16">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</array>
|
||||
</field>
|
||||
</record>
|
||||
<record name="StagePrivate" c:type="CallyStagePrivate" disguised="1">
|
||||
</record>
|
||||
<class name="Text"
|
||||
c:symbol-prefix="text"
|
||||
c:type="CallyText"
|
||||
version="1.4"
|
||||
parent="Actor"
|
||||
glib:type-name="CallyText"
|
||||
glib:get-type="cally_text_get_type"
|
||||
glib:type-struct="TextClass">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyText</structname> structure contains only private
|
||||
data and should be accessed using the provided API</doc>
|
||||
<implements name="Atk.Action"/>
|
||||
<implements name="Atk.Component"/>
|
||||
<implements name="Atk.EditableText"/>
|
||||
<implements name="Atk.Text"/>
|
||||
<constructor name="new" c:identifier="cally_text_new" version="1.4">
|
||||
<doc xml:whitespace="preserve">Creates a new #CallyText for the given @actor. @actor must be a
|
||||
#ClutterText.</doc>
|
||||
<return-value transfer-ownership="full">
|
||||
<doc xml:whitespace="preserve">the newly created #AtkObject</doc>
|
||||
<type name="Atk.Object" c:type="AtkObject*"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="actor" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #ClutterActor</doc>
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</constructor>
|
||||
<field name="parent" readable="0" private="1">
|
||||
<type name="Actor" c:type="CallyActor"/>
|
||||
</field>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="TextPrivate" c:type="CallyTextPrivate*"/>
|
||||
</field>
|
||||
</class>
|
||||
<record name="TextClass"
|
||||
c:type="CallyTextClass"
|
||||
glib:is-gtype-struct-for="Text"
|
||||
version="1.4">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyTextClass</structname> structure contains only
|
||||
private data</doc>
|
||||
<field name="parent_class" readable="0" private="1">
|
||||
<type name="ActorClass" c:type="CallyActorClass"/>
|
||||
</field>
|
||||
<field name="_padding_dummy" readable="0" private="1">
|
||||
<array zero-terminated="0" c:type="gpointer" fixed-size="8">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</array>
|
||||
</field>
|
||||
</record>
|
||||
<record name="TextPrivate" c:type="CallyTextPrivate" disguised="1">
|
||||
</record>
|
||||
<class name="Texture"
|
||||
c:symbol-prefix="texture"
|
||||
c:type="CallyTexture"
|
||||
version="1.4"
|
||||
parent="Actor"
|
||||
glib:type-name="CallyTexture"
|
||||
glib:get-type="cally_texture_get_type"
|
||||
glib:type-struct="TextureClass">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyTexture</structname> structure contains only
|
||||
private data and should be accessed using the provided API</doc>
|
||||
<implements name="Atk.Action"/>
|
||||
<implements name="Atk.Component"/>
|
||||
<constructor name="new" c:identifier="cally_texture_new" version="1.4">
|
||||
<doc xml:whitespace="preserve">Creates a new #CallyTexture for the given @actor. @actor must be
|
||||
a #ClutterTexture.</doc>
|
||||
<return-value transfer-ownership="full">
|
||||
<doc xml:whitespace="preserve">the newly created #AtkObject</doc>
|
||||
<type name="Atk.Object" c:type="AtkObject*"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="actor" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #ClutterActor</doc>
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</constructor>
|
||||
<field name="parent" readable="0" private="1">
|
||||
<type name="Actor" c:type="CallyActor"/>
|
||||
</field>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="TexturePrivate" c:type="CallyTexturePrivate*"/>
|
||||
</field>
|
||||
</class>
|
||||
<record name="TextureClass"
|
||||
c:type="CallyTextureClass"
|
||||
glib:is-gtype-struct-for="Texture"
|
||||
version="1.4">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyTextureClass</structname> structure contains
|
||||
only private data</doc>
|
||||
<field name="parent_class" readable="0" private="1">
|
||||
<type name="ActorClass" c:type="CallyActorClass"/>
|
||||
</field>
|
||||
<field name="_padding_dummy" readable="0" private="1">
|
||||
<array zero-terminated="0" c:type="gpointer" fixed-size="8">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</array>
|
||||
</field>
|
||||
</record>
|
||||
<record name="TexturePrivate" c:type="CallyTexturePrivate" disguised="1">
|
||||
</record>
|
||||
<class name="Util"
|
||||
c:symbol-prefix="util"
|
||||
c:type="CallyUtil"
|
||||
version="1.4"
|
||||
parent="Atk.Util"
|
||||
glib:type-name="CallyUtil"
|
||||
glib:get-type="cally_util_get_type"
|
||||
glib:type-struct="UtilClass">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyUtil</structname> structure contains only
|
||||
private data and should be accessed using the provided API</doc>
|
||||
<field name="parent" readable="0" private="1">
|
||||
<type name="Atk.Util" c:type="AtkUtil"/>
|
||||
</field>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="UtilPrivate" c:type="CallyUtilPrivate*"/>
|
||||
</field>
|
||||
</class>
|
||||
<record name="UtilClass"
|
||||
c:type="CallyUtilClass"
|
||||
glib:is-gtype-struct-for="Util"
|
||||
version="1.4">
|
||||
<doc xml:whitespace="preserve">The <structname>CallyUtilClass</structname> structure contains only
|
||||
private data</doc>
|
||||
<field name="parent_class" readable="0" private="1">
|
||||
<type name="Atk.UtilClass" c:type="AtkUtilClass"/>
|
||||
</field>
|
||||
<field name="_padding_dummy" readable="0" private="1">
|
||||
<array zero-terminated="0" c:type="gpointer" fixed-size="8">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</array>
|
||||
</field>
|
||||
</record>
|
||||
<record name="UtilPrivate" c:type="CallyUtilPrivate" disguised="1">
|
||||
</record>
|
||||
<function name="accessibility_init"
|
||||
c:identifier="cally_accessibility_init"
|
||||
version="1.4">
|
||||
<doc xml:whitespace="preserve">Initializes the accessibility support.
|
||||
initialized.</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">%TRUE if accessibility support has been correctly</doc>
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
</function>
|
||||
<function name="get_cally_initialized"
|
||||
c:identifier="cally_get_cally_initialized"
|
||||
version="1.4">
|
||||
<doc xml:whitespace="preserve">Returns if the accessibility support using cally is enabled.
|
||||
initialized.</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">%TRUE if accessibility support has been correctly</doc>
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
</function>
|
||||
</namespace>
|
||||
</repository>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,577 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- This file was automatically generated from C sources - DO NOT EDIT!
|
||||
To affect the contents of this file, edit the original C definitions,
|
||||
and/or use gtk-doc annotations. -->
|
||||
<repository version="1.2"
|
||||
xmlns="http://www.gtk.org/introspection/core/1.0"
|
||||
xmlns:c="http://www.gtk.org/introspection/c/1.0"
|
||||
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
|
||||
<include name="Atk" version="1.0"/>
|
||||
<include name="Clutter" version="1.0"/>
|
||||
<include name="Cogl" version="1.0"/>
|
||||
<include name="GL" version="1.0"/>
|
||||
<include name="GLib" version="2.0"/>
|
||||
<include name="GModule" version="2.0"/>
|
||||
<include name="GObject" version="2.0"/>
|
||||
<include name="Gdk" version="3.0"/>
|
||||
<include name="GdkPixbuf" version="2.0"/>
|
||||
<include name="Gio" version="2.0"/>
|
||||
<include name="Gtk" version="3.0"/>
|
||||
<include name="Json" version="1.0"/>
|
||||
<include name="Pango" version="1.0"/>
|
||||
<include name="PangoCairo" version="1.0"/>
|
||||
<include name="PangoFT2" version="1.0"/>
|
||||
<include name="cairo" version="1.0"/>
|
||||
<include name="fontconfig" version="2.0"/>
|
||||
<include name="freetype2" version="2.0"/>
|
||||
<package name="clutter-gtk-1.0"/>
|
||||
<c:include name="clutter-gtk/clutter-gtk.h"/>
|
||||
<namespace name="GtkClutter"
|
||||
version="1.0"
|
||||
shared-library="libclutter-gtk-1.0.so.0"
|
||||
c:identifier-prefixes="GtkClutter"
|
||||
c:symbol-prefixes="gtk_clutter">
|
||||
<class name="Actor"
|
||||
c:symbol-prefix="actor"
|
||||
c:type="GtkClutterActor"
|
||||
parent="Clutter.Actor"
|
||||
glib:type-name="GtkClutterActor"
|
||||
glib:get-type="gtk_clutter_actor_get_type"
|
||||
glib:type-struct="ActorClass">
|
||||
<doc xml:whitespace="preserve">A ClutterActor containing a #GtkWidget.</doc>
|
||||
<implements name="Atk.ImplementorIface"/>
|
||||
<implements name="Clutter.Animatable"/>
|
||||
<implements name="Clutter.Container"/>
|
||||
<implements name="Clutter.Scriptable"/>
|
||||
<constructor name="new" c:identifier="gtk_clutter_actor_new">
|
||||
<doc xml:whitespace="preserve">Creates a new #GtkClutterActor.
|
||||
This widget can be used to embed a #GtkWidget into a Clutter scene,
|
||||
by retrieving the internal #GtkBin container using
|
||||
gtk_clutter_actor_get_widget() and adding the #GtkWidget to it.</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the newly created #GtkClutterActor</doc>
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</return-value>
|
||||
</constructor>
|
||||
<constructor name="new_with_contents"
|
||||
c:identifier="gtk_clutter_actor_new_with_contents">
|
||||
<doc xml:whitespace="preserve">Creates a new #GtkClutterActor widget. This widget can be
|
||||
used to embed a Gtk widget into a clutter scene.
|
||||
This function is the logical equivalent of:
|
||||
|[
|
||||
ClutterActor *actor = gtk_clutter_actor_new ();
|
||||
GtkWidget *bin = gtk_clutter_actor_get_widget (GTK_CLUTTER_ACTOR (actor));
|
||||
gtk_container_add (GTK_CONTAINER (bin), contents);
|
||||
]|</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the newly created #GtkClutterActor</doc>
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="contents" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #GtkWidget to pack into this #ClutterActor</doc>
|
||||
<type name="Gtk.Widget" c:type="GtkWidget*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</constructor>
|
||||
<method name="get_contents"
|
||||
c:identifier="gtk_clutter_actor_get_contents">
|
||||
<doc xml:whitespace="preserve">Retrieves the child of the #GtkBin used to hold the contents of @actor.
|
||||
This convenience function is the logical equivalent of:
|
||||
|[
|
||||
GtkWidget *bin;
|
||||
bin = gtk_clutter_actor_get_widget (GTK_CLUTTER_ACTOR (actor));
|
||||
return gtk_bin_get_child (GTK_BIN (bin));
|
||||
]|
|
||||
has been set</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #GtkWidget, or %NULL if not content</doc>
|
||||
<type name="Gtk.Widget" c:type="GtkWidget*"/>
|
||||
</return-value>
|
||||
</method>
|
||||
<method name="get_widget" c:identifier="gtk_clutter_actor_get_widget">
|
||||
<doc xml:whitespace="preserve">Retrieves the #GtkBin used to hold the #GtkClutterActor:contents widget</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #GtkBin</doc>
|
||||
<type name="Gtk.Widget" c:type="GtkWidget*"/>
|
||||
</return-value>
|
||||
</method>
|
||||
<property name="contents"
|
||||
writable="1"
|
||||
construct="1"
|
||||
transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">The #GtkWidget to be embedded into the #GtkClutterActor</doc>
|
||||
<type name="Gtk.Widget"/>
|
||||
</property>
|
||||
<field name="parent_instance" readable="0" private="1">
|
||||
<type name="Clutter.Actor" c:type="ClutterActor"/>
|
||||
</field>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="ActorPrivate" c:type="GtkClutterActorPrivate*"/>
|
||||
</field>
|
||||
</class>
|
||||
<record name="ActorClass"
|
||||
c:type="GtkClutterActorClass"
|
||||
glib:is-gtype-struct-for="Actor">
|
||||
<doc xml:whitespace="preserve">Base class for #GtkClutterActor.</doc>
|
||||
<field name="parent_class" readable="0" private="1">
|
||||
<type name="Clutter.ActorClass" c:type="ClutterActorClass"/>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved1" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved1">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved2" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved2">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved3" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved3">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved4" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved4">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved5" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved5">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved6" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved6">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
</record>
|
||||
<record name="ActorPrivate" c:type="GtkClutterActorPrivate" disguised="1">
|
||||
</record>
|
||||
<class name="Embed"
|
||||
c:symbol-prefix="embed"
|
||||
c:type="GtkClutterEmbed"
|
||||
parent="Gtk.Container"
|
||||
glib:type-name="GtkClutterEmbed"
|
||||
glib:get-type="gtk_clutter_embed_get_type"
|
||||
glib:type-struct="EmbedClass">
|
||||
<doc xml:whitespace="preserve">A #GtkWidget containing the default Clutter stage.
|
||||
The <structname>GtkClutterEmbed</structname> structure contains only
|
||||
private data and should be accessed using the provided API.</doc>
|
||||
<implements name="Atk.ImplementorIface"/>
|
||||
<implements name="Gtk.Buildable"/>
|
||||
<constructor name="new" c:identifier="gtk_clutter_embed_new">
|
||||
<doc xml:whitespace="preserve">Creates a new #GtkClutterEmbed widget. This widget can be
|
||||
used to build a scene using Clutter API into a GTK+ application.</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the newly created #GtkClutterEmbed</doc>
|
||||
<type name="Gtk.Widget" c:type="GtkWidget*"/>
|
||||
</return-value>
|
||||
</constructor>
|
||||
<method name="get_stage" c:identifier="gtk_clutter_embed_get_stage">
|
||||
<doc xml:whitespace="preserve">Retrieves the #ClutterStage from @embed. The returned stage can be
|
||||
used to add actors to the Clutter scene.
|
||||
destroy or unref the returned actor.</doc>
|
||||
<return-value transfer-ownership="full">
|
||||
<doc xml:whitespace="preserve">the Clutter stage. You should never</doc>
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</return-value>
|
||||
</method>
|
||||
<field name="parent_instance" readable="0" private="1">
|
||||
<type name="Gtk.Container" c:type="GtkContainer"/>
|
||||
</field>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="EmbedPrivate" c:type="GtkClutterEmbedPrivate*"/>
|
||||
</field>
|
||||
</class>
|
||||
<record name="EmbedClass"
|
||||
c:type="GtkClutterEmbedClass"
|
||||
glib:is-gtype-struct-for="Embed">
|
||||
<doc xml:whitespace="preserve">Base class for #GtkClutterEmbed.
|
||||
The <structname>GtkClutterEmbedClass</structname> contains only private
|
||||
data.</doc>
|
||||
<field name="parent_class" readable="0" private="1">
|
||||
<type name="Gtk.ContainerClass" c:type="GtkContainerClass"/>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved1" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved1">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved2" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved2">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved3" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved3">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved4" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved4">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved5" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved5">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved6" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved6">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
</record>
|
||||
<record name="EmbedPrivate" c:type="GtkClutterEmbedPrivate" disguised="1">
|
||||
</record>
|
||||
<class name="Texture"
|
||||
c:symbol-prefix="texture"
|
||||
c:type="GtkClutterTexture"
|
||||
version="1.0"
|
||||
parent="Clutter.Texture"
|
||||
glib:type-name="GtkClutterTexture"
|
||||
glib:get-type="gtk_clutter_texture_get_type"
|
||||
glib:type-struct="TextureClass">
|
||||
<doc xml:whitespace="preserve">The <structname>GtkClutterTexture</structname> structure contains
|
||||
only private data and should be accessed using the provided API.</doc>
|
||||
<implements name="Atk.ImplementorIface"/>
|
||||
<implements name="Clutter.Animatable"/>
|
||||
<implements name="Clutter.Scriptable"/>
|
||||
<constructor name="new"
|
||||
c:identifier="gtk_clutter_texture_new"
|
||||
version="1.0">
|
||||
<doc xml:whitespace="preserve">Creates a new #GtkClutterTexture actor.
|
||||
instance</doc>
|
||||
<return-value transfer-ownership="full">
|
||||
<doc xml:whitespace="preserve">the newly created #GtkClutterTexture</doc>
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</return-value>
|
||||
</constructor>
|
||||
<function name="error_quark"
|
||||
c:identifier="gtk_clutter_texture_error_quark">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="GLib.Quark" c:type="GQuark"/>
|
||||
</return-value>
|
||||
</function>
|
||||
<method name="set_from_icon_name"
|
||||
c:identifier="gtk_clutter_texture_set_from_icon_name"
|
||||
version="1.0"
|
||||
throws="1">
|
||||
<doc xml:whitespace="preserve">Sets the contents of @texture using the @icon_name from the
|
||||
current icon theme.</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">%TRUE on success, %FALSE on failure</doc>
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="widget" transfer-ownership="none" allow-none="1">
|
||||
<doc xml:whitespace="preserve">a #GtkWidget or %NULL</doc>
|
||||
<type name="Gtk.Widget" c:type="GtkWidget*"/>
|
||||
</parameter>
|
||||
<parameter name="icon_name" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the name of the icon</doc>
|
||||
<type name="utf8" c:type="gchar*"/>
|
||||
</parameter>
|
||||
<parameter name="icon_size" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the icon size or -1</doc>
|
||||
<type name="Gtk.IconSize" c:type="GtkIconSize"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_from_pixbuf"
|
||||
c:identifier="gtk_clutter_texture_set_from_pixbuf"
|
||||
throws="1">
|
||||
<doc xml:whitespace="preserve">Sets the contents of @texture with a copy of @pixbuf.</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">%TRUE on success, %FALSE on failure.</doc>
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="pixbuf" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #GdkPixbuf</doc>
|
||||
<type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_from_stock"
|
||||
c:identifier="gtk_clutter_texture_set_from_stock"
|
||||
throws="1">
|
||||
<doc xml:whitespace="preserve">Sets the contents of @texture using the stock icon @stock_id, as
|
||||
rendered by @widget.</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">%TRUE on success, %FALSE on failure.</doc>
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="widget" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #GtkWidget</doc>
|
||||
<type name="Gtk.Widget" c:type="GtkWidget*"/>
|
||||
</parameter>
|
||||
<parameter name="stock_id" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the stock id of the icon</doc>
|
||||
<type name="utf8" c:type="gchar*"/>
|
||||
</parameter>
|
||||
<parameter name="icon_size" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the size of the icon, or -1</doc>
|
||||
<type name="Gtk.IconSize" c:type="GtkIconSize"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</method>
|
||||
<field name="parent_instance" readable="0" private="1">
|
||||
<type name="Clutter.Texture" c:type="ClutterTexture"/>
|
||||
</field>
|
||||
</class>
|
||||
<record name="TextureClass"
|
||||
c:type="GtkClutterTextureClass"
|
||||
glib:is-gtype-struct-for="Texture"
|
||||
version="1.0">
|
||||
<doc xml:whitespace="preserve">The <structname>GtkClutterTextureClass</structname> structure contains
|
||||
only private data.</doc>
|
||||
<field name="parent_class" readable="0" private="1">
|
||||
<type name="Clutter.TextureClass" c:type="ClutterTextureClass"/>
|
||||
</field>
|
||||
</record>
|
||||
<enumeration name="TextureError"
|
||||
version="1.0"
|
||||
c:type="GtkClutterTextureError">
|
||||
<doc xml:whitespace="preserve">Error enumeration for #GtkClutterTexture</doc>
|
||||
<member name="texture_error_invalid_stock_id"
|
||||
value="0"
|
||||
c:identifier="GTK_CLUTTER_TEXTURE_ERROR_INVALID_STOCK_ID"/>
|
||||
</enumeration>
|
||||
<class name="Window"
|
||||
c:symbol-prefix="window"
|
||||
c:type="GtkClutterWindow"
|
||||
parent="Gtk.Window"
|
||||
glib:type-name="GtkClutterWindow"
|
||||
glib:get-type="gtk_clutter_window_get_type"
|
||||
glib:type-struct="WindowClass">
|
||||
<doc xml:whitespace="preserve">A #GtkWindow containing a #ClutterStage.
|
||||
The <structname>GtkClutterWindow</structname> structure contains only
|
||||
private data and it should be accessed using the provided API.</doc>
|
||||
<implements name="Atk.ImplementorIface"/>
|
||||
<implements name="Gtk.Buildable"/>
|
||||
<constructor name="new" c:identifier="gtk_clutter_window_new">
|
||||
<doc xml:whitespace="preserve">Creates a new #GtkClutterWindow widget.
|
||||
This window provides a hidden #ClutterStage on which the child
|
||||
#GtkWidget<!-- -->s are placed. This allows other #ClutterActor<!-- -->s
|
||||
to also be placed on the stage.</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the newly created #GtkClutterWindow</doc>
|
||||
<type name="Gtk.Widget" c:type="GtkWidget*"/>
|
||||
</return-value>
|
||||
</constructor>
|
||||
<method name="get_stage" c:identifier="gtk_clutter_window_get_stage">
|
||||
<doc xml:whitespace="preserve">Retrieves the #ClutterStage that this window is embedding
|
||||
Use this function if you wish to add other actors to the #ClutterStage.</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the window's #ClutterStage</doc>
|
||||
<type name="Clutter.Actor" c:type="ClutterActor*"/>
|
||||
</return-value>
|
||||
</method>
|
||||
<field name="parent_instance" readable="0" private="1">
|
||||
<type name="Gtk.Window" c:type="GtkWindow"/>
|
||||
</field>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="WindowPrivate" c:type="GtkClutterWindowPrivate*"/>
|
||||
</field>
|
||||
</class>
|
||||
<record name="WindowClass"
|
||||
c:type="GtkClutterWindowClass"
|
||||
glib:is-gtype-struct-for="Window">
|
||||
<doc xml:whitespace="preserve">Base class for #GtkClutterWindow.
|
||||
The <structname>GtkClutterWindowClass</structname> structure contains
|
||||
only private data.</doc>
|
||||
<field name="parent_class" readable="0" private="1">
|
||||
<type name="Gtk.WindowClass" c:type="GtkWindowClass"/>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved1" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved1">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved2" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved2">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved3" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved3">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved4" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved4">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved5" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved5">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="_clutter_gtk_reserved6" introspectable="0">
|
||||
<callback name="_clutter_gtk_reserved6">
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
</callback>
|
||||
</field>
|
||||
</record>
|
||||
<record name="WindowPrivate"
|
||||
c:type="GtkClutterWindowPrivate"
|
||||
disguised="1">
|
||||
</record>
|
||||
<function name="get_option_group"
|
||||
c:identifier="gtk_clutter_get_option_group"
|
||||
introspectable="0">
|
||||
<doc xml:whitespace="preserve">Returns a #GOptionGroup for the command line arguments recognized
|
||||
by Clutter. You should add this group to your #GOptionContext with
|
||||
g_option_context_add_group(), if you are using g_option_context_parse()
|
||||
to parse your commandline arguments instead of using gtk_clutter_init()
|
||||
or gtk_clutter_init_with_args().
|
||||
You should add this option group to your #GOptionContext after
|
||||
the GTK option group created with gtk_get_option_group(), and after
|
||||
the clutter option group obtained from clutter_get_option_group_without_init().
|
||||
You should not use clutter_get_option_group() together with this function.
|
||||
You must pass %TRUE to gtk_get_option_group() since gtk-clutter's option
|
||||
group relies on it.
|
||||
Parsing options using g_option_context_parse() with a #GOptionContext
|
||||
containing the returned #GOptionGroupwith will result in Clutter's and
|
||||
GTK-Clutter's initialisation. That is, the following code:
|
||||
|[
|
||||
g_option_context_add_group (context, gtk_get_option_group (TRUE));
|
||||
g_option_context_add_group (context, cogl_get_option_group ());
|
||||
g_option_context_add_group (context, clutter_get_option_group_without_init ());
|
||||
g_option_context_add_group (context, gtk_clutter_get_option_group ());
|
||||
res = g_option_context_parse (context, &amp;argc, &amp;argc, NULL);
|
||||
]|
|
||||
is functionally equivalent to:
|
||||
|[
|
||||
gtk_clutter_init (&amp;argc, &amp;argv);
|
||||
]|
|
||||
After g_option_context_parse() on a #GOptionContext containing the
|
||||
the returned #GOptionGroup has returned %TRUE, Clutter and GTK-Clutter are
|
||||
guaranteed to be initialized.
|
||||
recognized by ClutterGtk</doc>
|
||||
<return-value transfer-ownership="full">
|
||||
<doc xml:whitespace="preserve">a #GOptionGroup for the commandline arguments</doc>
|
||||
<type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
|
||||
</return-value>
|
||||
</function>
|
||||
<function name="init" c:identifier="gtk_clutter_init">
|
||||
<doc xml:whitespace="preserve">This function should be called instead of clutter_init() and
|
||||
gtk_init().
|
||||
on failure.</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">%CLUTTER_INIT_SUCCESS on success, a negative integer</doc>
|
||||
<type name="Clutter.InitError" c:type="ClutterInitError"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="argc"
|
||||
direction="inout"
|
||||
caller-allocates="0"
|
||||
transfer-ownership="full"
|
||||
allow-none="1">
|
||||
<doc xml:whitespace="preserve">pointer to the arguments count, or %NULL</doc>
|
||||
<type name="gint" c:type="int*"/>
|
||||
</parameter>
|
||||
<parameter name="argv"
|
||||
direction="inout"
|
||||
caller-allocates="0"
|
||||
transfer-ownership="full"
|
||||
allow-none="1">
|
||||
<doc xml:whitespace="preserve">pointer to the arguments vector, or %NULL</doc>
|
||||
<array length="0" c:type="char***">
|
||||
<type name="utf8" c:type="char**"/>
|
||||
</array>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function>
|
||||
<function name="init_with_args"
|
||||
c:identifier="gtk_clutter_init_with_args"
|
||||
throws="1">
|
||||
<doc xml:whitespace="preserve">This function should be called instead of clutter_init() and
|
||||
gtk_init_with_args().
|
||||
on failure.</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">%CLUTTER_INIT_SUCCESS on success, a negative integer</doc>
|
||||
<type name="Clutter.InitError" c:type="ClutterInitError"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="argc"
|
||||
direction="inout"
|
||||
caller-allocates="0"
|
||||
transfer-ownership="full"
|
||||
allow-none="1">
|
||||
<doc xml:whitespace="preserve">a pointer to the number of command line arguments, or %NULL</doc>
|
||||
<type name="gint" c:type="int*"/>
|
||||
</parameter>
|
||||
<parameter name="argv"
|
||||
direction="inout"
|
||||
caller-allocates="0"
|
||||
transfer-ownership="full"
|
||||
allow-none="1">
|
||||
<doc xml:whitespace="preserve">a pointer to the array of command line arguments, or %NULL</doc>
|
||||
<array length="0" c:type="char***">
|
||||
<type name="utf8" c:type="char**"/>
|
||||
</array>
|
||||
</parameter>
|
||||
<parameter name="parameter_string"
|
||||
transfer-ownership="none"
|
||||
allow-none="1">
|
||||
<doc xml:whitespace="preserve">a string which is displayed in the first line of <option>--help</option> output, after <literal><replaceable>programname</replaceable> [OPTION...]</literal></doc>
|
||||
<type name="utf8" c:type="char*"/>
|
||||
</parameter>
|
||||
<parameter name="entries" transfer-ownership="none" allow-none="1">
|
||||
<doc xml:whitespace="preserve">a %NULL-terminated array of #GOptionEntry<!-- -->s describing the options of your program</doc>
|
||||
<type name="GLib.OptionEntry" c:type="GOptionEntry*"/>
|
||||
</parameter>
|
||||
<parameter name="translation_domain"
|
||||
transfer-ownership="none"
|
||||
allow-none="1">
|
||||
<doc xml:whitespace="preserve">a translation domain to use for translating the <option>--help</option> output for the options in @entries with gettext(), or %NULL</doc>
|
||||
<type name="utf8" c:type="char*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function>
|
||||
</namespace>
|
||||
</repository>
|
|
@ -15,9 +15,9 @@ LIBRARY: clutter.gtk
|
|||
"clutter.gtk" {
|
||||
{ [ os winnt? ] [ drop ] }
|
||||
{ [ os macosx? ] [ drop ] }
|
||||
{ [ os unix? ] [ "libclutter-gtk-0.10.so" cdecl add-library ] }
|
||||
{ [ os unix? ] [ "libclutter-gtk-1.0.so" cdecl add-library ] }
|
||||
} cond
|
||||
>>
|
||||
|
||||
GIR: GtkClutter-0.10.gir
|
||||
GIR: GtkClutter-1.0.gir
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -334,33 +334,34 @@ M: TXT rdata>byte-array
|
|||
: <dns-inet4> ( -- inet4 )
|
||||
dns-servers get random 53 <inet4> ;
|
||||
|
||||
: dns-query ( query -- message )
|
||||
<message> message>byte-array
|
||||
: dns-query ( name type class -- message )
|
||||
<query> <message> message>byte-array
|
||||
<dns-inet4> udp-query parse-message ;
|
||||
|
||||
: dns-A-query ( domain -- message ) A IN <query> dns-query ;
|
||||
: dns-AAAA-query ( domain -- message ) AAAA IN <query> dns-query ;
|
||||
: dns-MX-query ( domain -- message ) MX IN <query> dns-query ;
|
||||
: dns-NS-query ( domain -- message ) NS IN <query> dns-query ;
|
||||
: dns-TXT-query ( domain -- message ) TXT IN <query> dns-query ;
|
||||
: dns-A-query ( name -- message ) A IN dns-query ;
|
||||
: dns-AAAA-query ( name -- message ) AAAA IN dns-query ;
|
||||
: dns-MX-query ( name -- message ) MX IN dns-query ;
|
||||
: dns-NS-query ( name -- message ) NS IN dns-query ;
|
||||
: dns-TXT-query ( name -- message ) TXT IN dns-query ;
|
||||
|
||||
: read-TXT-strings ( byte-array -- strings )
|
||||
[
|
||||
binary <byte-reader> [
|
||||
[ read1 [ read , t ] [ f ] if* ] loop
|
||||
] with-input-stream
|
||||
] { } make ;
|
||||
|
||||
: TXT-message>strings ( message -- strings )
|
||||
answer-section>>
|
||||
[ rdata>>
|
||||
[
|
||||
binary <byte-reader> [
|
||||
[
|
||||
read1 [ read , t ] [ f ] if*
|
||||
] loop
|
||||
] with-input-stream
|
||||
] { } make [ utf8 decode ] map
|
||||
read-TXT-strings [ utf8 decode ] map
|
||||
] map ;
|
||||
|
||||
: TXT. ( domain -- )
|
||||
: TXT. ( name -- )
|
||||
dns-TXT-query TXT-message>strings [ [ write ] each nl ] each ;
|
||||
|
||||
: reverse-lookup ( reversed-ip -- message )
|
||||
PTR IN <query> dns-query ;
|
||||
PTR IN dns-query ;
|
||||
|
||||
: reverse-ipv4-lookup ( ip -- message )
|
||||
ipv4>arpa reverse-lookup ;
|
||||
|
|
|
@ -536,7 +536,7 @@ TYPED:: elf-section-data-by-name ( elf: Elf32/64_Ehdr name: string -- header/f u
|
|||
elf elf-section-headers :> sections
|
||||
elf e_shstrndx>> :> ndx
|
||||
elf ndx sections nth elf-section-data >c-ptr :> section-names
|
||||
sections 1 tail [
|
||||
sections rest [
|
||||
sh_name>> section-names <displaced-alien> ascii alien>string name =
|
||||
] find nip
|
||||
[ dup elf swap elf-section-data ]
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,318 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- This file was automatically generated from C sources - DO NOT EDIT!
|
||||
To affect the contents of this file, edit the original C definitions,
|
||||
and/or use gtk-doc annotations. -->
|
||||
<repository version="1.2"
|
||||
xmlns="http://www.gtk.org/introspection/core/1.0"
|
||||
xmlns:c="http://www.gtk.org/introspection/c/1.0"
|
||||
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
|
||||
<include name="GLib" version="2.0"/>
|
||||
<include name="GModule" version="2.0"/>
|
||||
<include name="GObject" version="2.0"/>
|
||||
<include name="Gst" version="0.10"/>
|
||||
<include name="libxml2" version="2.0"/>
|
||||
<package name="gstreamer-net-0.10"/>
|
||||
<c:include name="gst/net/gstnet.h"/>
|
||||
<namespace name="GstNet"
|
||||
version="0.10"
|
||||
shared-library="libgstreamer-0.10.so.0,libgstnet-0.10.so.0"
|
||||
c:identifier-prefixes="Gst"
|
||||
c:symbol-prefixes="gst">
|
||||
<constant name="NET_TIME_PACKET_SIZE" value="16">
|
||||
<type name="gint" c:type="gint"/>
|
||||
</constant>
|
||||
<class name="NetClientClock"
|
||||
c:symbol-prefix="net_client_clock"
|
||||
c:type="GstNetClientClock"
|
||||
parent="Gst.SystemClock"
|
||||
glib:type-name="GstNetClientClock"
|
||||
glib:get-type="gst_net_client_clock_get_type"
|
||||
glib:type-struct="NetClientClockClass">
|
||||
<doc xml:whitespace="preserve">This object implements a custom #GstClock that synchronizes its time
|
||||
to a remote time provider such as #GstNetTimeProvider.
|
||||
A new clock is created with gst_net_client_clock_new() which takes the
|
||||
address and port of the remote time provider along with a name and
|
||||
an initial time.
|
||||
This clock will poll the time provider and will update its calibration
|
||||
parameters based on the local and remote observations.
|
||||
Various parameters of the clock can be configured with the parent #GstClock
|
||||
"timeout", "window-size" and "window-threshold" object properties.
|
||||
A #GstNetClientClock is typically set on a #GstPipeline with
|
||||
gst_pipeline_use_clock().
|
||||
Last reviewed on 2005-11-23 (0.9.5)</doc>
|
||||
<constructor name="new" c:identifier="gst_net_client_clock_new">
|
||||
<doc xml:whitespace="preserve">Create a new #GstNetClientClock that will report the time
|
||||
provided by the #GstNetTimeProvider on @remote_address and
|
||||
clock.</doc>
|
||||
<return-value transfer-ownership="full">
|
||||
<doc xml:whitespace="preserve">a new #GstClock that receives a time from the remote</doc>
|
||||
<type name="Gst.Clock" c:type="GstClock*"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="name" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a name for the clock</doc>
|
||||
<type name="utf8" c:type="gchar*"/>
|
||||
</parameter>
|
||||
<parameter name="remote_address" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the address of the remote clock provider</doc>
|
||||
<type name="utf8" c:type="gchar*"/>
|
||||
</parameter>
|
||||
<parameter name="remote_port" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the port of the remote clock provider</doc>
|
||||
<type name="gint" c:type="gint"/>
|
||||
</parameter>
|
||||
<parameter name="base_time" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">initial time of the clock</doc>
|
||||
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</constructor>
|
||||
<property name="address" writable="1" transfer-ownership="none">
|
||||
<type name="utf8"/>
|
||||
</property>
|
||||
<property name="port" writable="1" transfer-ownership="none">
|
||||
<type name="gint"/>
|
||||
</property>
|
||||
<field name="clock">
|
||||
<type name="Gst.SystemClock" c:type="GstSystemClock"/>
|
||||
</field>
|
||||
<field name="address">
|
||||
<type name="utf8" c:type="gchar*"/>
|
||||
</field>
|
||||
<field name="port">
|
||||
<type name="gint" c:type="gint"/>
|
||||
</field>
|
||||
<field name="sock" readable="0" private="1">
|
||||
<type name="gint" c:type="int"/>
|
||||
</field>
|
||||
<field name="control_sock" readable="0" private="1">
|
||||
<array zero-terminated="0" c:type="gint" fixed-size="2">
|
||||
<type name="gint" c:type="int"/>
|
||||
</array>
|
||||
</field>
|
||||
<field name="current_timeout" readable="0" private="1">
|
||||
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
||||
</field>
|
||||
<field name="servaddr">
|
||||
<type name="gpointer" c:type="gpointer*"/>
|
||||
</field>
|
||||
<field name="thread">
|
||||
<type name="GLib.Thread" c:type="GThread*"/>
|
||||
</field>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="NetClientClockPrivate" c:type="GstNetClientClockPrivate*"/>
|
||||
</field>
|
||||
<field name="_gst_reserved" readable="0" private="1">
|
||||
<array zero-terminated="0" c:type="gpointer" fixed-size="3">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</array>
|
||||
</field>
|
||||
</class>
|
||||
<record name="NetClientClockClass"
|
||||
c:type="GstNetClientClockClass"
|
||||
glib:is-gtype-struct-for="NetClientClock">
|
||||
<field name="parent_class">
|
||||
<type name="Gst.SystemClockClass" c:type="GstSystemClockClass"/>
|
||||
</field>
|
||||
<field name="_gst_reserved" readable="0" private="1">
|
||||
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</array>
|
||||
</field>
|
||||
</record>
|
||||
<record name="NetClientClockPrivate"
|
||||
c:type="GstNetClientClockPrivate"
|
||||
disguised="1">
|
||||
</record>
|
||||
<record name="NetTimePacket" c:type="GstNetTimePacket">
|
||||
<doc xml:whitespace="preserve">Various functions for receiving, sending an serializing #GstNetTimePacket
|
||||
structures.
|
||||
Last reviewed on 2005-11-23 (0.9.5)</doc>
|
||||
<field name="local_time" writable="1">
|
||||
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
||||
</field>
|
||||
<field name="remote_time" writable="1">
|
||||
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
||||
</field>
|
||||
<method name="send" c:identifier="gst_net_time_packet_send">
|
||||
<doc xml:whitespace="preserve">Sends a #GstNetTimePacket over a socket. Essentially a thin wrapper around
|
||||
sendto(2) and gst_net_time_packet_serialize().
|
||||
MT safe.</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">The return value of sendto(2).</doc>
|
||||
<type name="gint" c:type="gint"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="fd" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a file descriptor created by socket(2)</doc>
|
||||
<type name="gint" c:type="gint"/>
|
||||
</parameter>
|
||||
<parameter name="addr" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a pointer to a sockaddr to hold the address of the sender</doc>
|
||||
<type name="gpointer" c:type="gpointer*"/>
|
||||
</parameter>
|
||||
<parameter name="len" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">the size of the data pointed to by @addr</doc>
|
||||
<type name="gint32" c:type="socklen_t"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="serialize" c:identifier="gst_net_time_packet_serialize">
|
||||
<doc xml:whitespace="preserve">Serialized a #GstNetTimePacket into a newly-allocated sequence of
|
||||
#GST_NET_TIME_PACKET_SIZE bytes, in network byte order. The value returned is
|
||||
suitable for passing to write(2) or sendto(2) for communication over the
|
||||
network.
|
||||
MT safe. Caller owns return value (g_free to free).</doc>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">A newly allocated sequence of #GST_NET_TIME_PACKET_SIZE bytes.</doc>
|
||||
<type name="guint8" c:type="guint8*"/>
|
||||
</return-value>
|
||||
</method>
|
||||
</record>
|
||||
<class name="NetTimeProvider"
|
||||
c:symbol-prefix="net_time_provider"
|
||||
c:type="GstNetTimeProvider"
|
||||
parent="Gst.Object"
|
||||
glib:type-name="GstNetTimeProvider"
|
||||
glib:get-type="gst_net_time_provider_get_type"
|
||||
glib:type-struct="NetTimeProviderClass">
|
||||
<doc xml:whitespace="preserve">This object exposes the time of a #GstClock on the network.
|
||||
A #GstNetTimeProvider is created with gst_net_time_provider_new() which
|
||||
takes a #GstClock, an address and a port number as arguments.
|
||||
After creating the object, a client clock such as #GstNetClientClock can
|
||||
query the exposed clock over the network for its values.
|
||||
The #GstNetTimeProvider typically wraps the clock used by a #GstPipeline.
|
||||
Last reviewed on 2005-11-23 (0.9.5)</doc>
|
||||
<constructor name="new" c:identifier="gst_net_time_provider_new">
|
||||
<doc xml:whitespace="preserve">Allows network clients to get the current time of @clock.</doc>
|
||||
<return-value transfer-ownership="full">
|
||||
<doc xml:whitespace="preserve">the new #GstNetTimeProvider, or NULL on error</doc>
|
||||
<type name="NetTimeProvider" c:type="GstNetTimeProvider*"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="clock" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a #GstClock to export over the network</doc>
|
||||
<type name="Gst.Clock" c:type="GstClock*"/>
|
||||
</parameter>
|
||||
<parameter name="address" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">an address to bind on as a dotted quad (xxx.xxx.xxx.xxx), or NULL to bind to all addresses</doc>
|
||||
<type name="utf8" c:type="gchar*"/>
|
||||
</parameter>
|
||||
<parameter name="port" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a port to bind on, or 0 to let the kernel choose</doc>
|
||||
<type name="gint" c:type="gint"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</constructor>
|
||||
<property name="active" writable="1" transfer-ownership="none">
|
||||
<type name="gboolean"/>
|
||||
</property>
|
||||
<property name="address" writable="1" transfer-ownership="none">
|
||||
<type name="utf8"/>
|
||||
</property>
|
||||
<property name="clock" writable="1" transfer-ownership="none">
|
||||
<type name="Gst.Clock"/>
|
||||
</property>
|
||||
<property name="port" writable="1" transfer-ownership="none">
|
||||
<type name="gint"/>
|
||||
</property>
|
||||
<field name="parent">
|
||||
<type name="Gst.Object" c:type="GstObject"/>
|
||||
</field>
|
||||
<field name="address" readable="0" private="1">
|
||||
<type name="utf8" c:type="gchar*"/>
|
||||
</field>
|
||||
<field name="port" readable="0" private="1">
|
||||
<type name="gint" c:type="int"/>
|
||||
</field>
|
||||
<field name="sock" readable="0" private="1">
|
||||
<type name="gint" c:type="int"/>
|
||||
</field>
|
||||
<field name="control_sock" readable="0" private="1">
|
||||
<array zero-terminated="0" c:type="gint" fixed-size="2">
|
||||
<type name="gint" c:type="int"/>
|
||||
</array>
|
||||
</field>
|
||||
<field name="thread" readable="0" private="1">
|
||||
<type name="GLib.Thread" c:type="GThread*"/>
|
||||
</field>
|
||||
<field name="clock" readable="0" private="1">
|
||||
<type name="Gst.Clock" c:type="GstClock*"/>
|
||||
</field>
|
||||
<union name="active" c:type="active">
|
||||
<field name="_gst_reserved1" writable="1">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</field>
|
||||
<field name="active" writable="1">
|
||||
<type name="gint" c:type="gint"/>
|
||||
</field>
|
||||
</union>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="NetTimeProviderPrivate"
|
||||
c:type="GstNetTimeProviderPrivate*"/>
|
||||
</field>
|
||||
<field name="_gst_reserved" readable="0" private="1">
|
||||
<array zero-terminated="0" c:type="gpointer" fixed-size="2">
|
||||
<type name="gpointer" c:type="gpointer"/>
|
||||
</array>
|
||||
</field>
|
||||
</class>
|
||||
<record name="NetTimeProviderClass"
|
||||
c:type="GstNetTimeProviderClass"
|
||||
glib:is-gtype-struct-for="NetTimeProvider">
|
||||
<field name="parent_class">
|
||||
<type name="Gst.ObjectClass" c:type="GstObjectClass"/>
|
||||
</field>
|
||||
</record>
|
||||
<record name="NetTimeProviderPrivate"
|
||||
c:type="GstNetTimeProviderPrivate"
|
||||
disguised="1">
|
||||
</record>
|
||||
<function name="net_time_packet_new"
|
||||
c:identifier="gst_net_time_packet_new"
|
||||
introspectable="0">
|
||||
<doc xml:whitespace="preserve">Creates a new #GstNetTimePacket from a buffer received over the network. The
|
||||
caller is responsible for ensuring that @buffer is at least
|
||||
#GST_NET_TIME_PACKET_SIZE bytes long.
|
||||
If @buffer is #NULL, the local and remote times will be set to
|
||||
#GST_CLOCK_TIME_NONE.
|
||||
MT safe. Caller owns return value (g_free to free).</doc>
|
||||
<return-value>
|
||||
<doc xml:whitespace="preserve">The new #GstNetTimePacket.</doc>
|
||||
<type name="NetTimePacket" c:type="GstNetTimePacket*"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="buffer" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a buffer from which to construct the packet, or NULL</doc>
|
||||
<type name="guint8" c:type="guint8*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function>
|
||||
<function name="net_time_packet_receive"
|
||||
c:identifier="gst_net_time_packet_receive"
|
||||
introspectable="0">
|
||||
<doc xml:whitespace="preserve">Receives a #GstNetTimePacket over a socket. Handles interrupted system calls,
|
||||
but otherwise returns NULL on error. See recvfrom(2) for more information on
|
||||
how to interpret @sockaddr.
|
||||
MT safe. Caller owns return value (g_free to free).</doc>
|
||||
<return-value>
|
||||
<doc xml:whitespace="preserve">The new #GstNetTimePacket.</doc>
|
||||
<type name="NetTimePacket" c:type="GstNetTimePacket*"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="fd" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a file descriptor created by socket(2)</doc>
|
||||
<type name="gint" c:type="gint"/>
|
||||
</parameter>
|
||||
<parameter name="addr" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a pointer to a sockaddr to hold the address of the sender</doc>
|
||||
<type name="gpointer" c:type="gpointer*"/>
|
||||
</parameter>
|
||||
<parameter name="len" transfer-ownership="none">
|
||||
<doc xml:whitespace="preserve">a pointer to the size of the data pointed to by @addr</doc>
|
||||
<type name="gint32" c:type="socklen_t*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function>
|
||||
</namespace>
|
||||
</repository>
|
|
@ -7,7 +7,7 @@ IN: irc.messages.parser
|
|||
|
||||
<PRIVATE
|
||||
: split-at-first ( seq separators -- before after )
|
||||
dupd '[ _ member? ] find [ cut 1 tail ] [ swap ] if ;
|
||||
dupd '[ _ member? ] find [ cut rest ] [ swap ] if ;
|
||||
|
||||
: split-trailing ( string -- string string/f ) ":" split1 ;
|
||||
: remove-heading-: ( seq -- seq ) ":" ?head drop ;
|
||||
|
|
|
@ -53,7 +53,7 @@ nonce ;
|
|||
] H{ } make-assoc ; inline
|
||||
|
||||
:: sign-params ( url request-method consumer-token request-token params -- signed-params )
|
||||
params >alist sort-keys :> params
|
||||
params sort-keys :> params
|
||||
url request-method params signature-base-string :> sbs
|
||||
consumer-token secret>> request-token dup [ secret>> ] when hmac-key :> key
|
||||
sbs key sha1 hmac-bytes >base64 >string :> signature
|
||||
|
|
|
@ -15,6 +15,10 @@
|
|||
<t:field t:name="description" t:size="60" />
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<t:recaptcha />
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<button type="submit">Save</button>
|
||||
</p>
|
||||
|
|
|
@ -9,6 +9,7 @@ http.server
|
|||
http.server.dispatchers
|
||||
furnace.actions
|
||||
furnace.utilities
|
||||
furnace.recaptcha
|
||||
furnace.redirection
|
||||
furnace.auth
|
||||
furnace.auth.login
|
||||
|
@ -169,6 +170,8 @@ M: revision feed-entry-url id>> revision-url ;
|
|||
: <submit-article-action> ( -- action )
|
||||
<action>
|
||||
[
|
||||
validate-recaptcha
|
||||
|
||||
validate-title
|
||||
|
||||
{
|
||||
|
|
|
@ -84,7 +84,7 @@ SYMBOLS: key-password key-file dh-file ;
|
|||
"password" key-password set-global
|
||||
common-configuration
|
||||
<concatenative-website>
|
||||
<wiki> <login-config> <factor-boilerplate> "wiki" add-responder
|
||||
<wiki> <factor-recaptcha> <login-config> <factor-boilerplate> "wiki" add-responder
|
||||
<user-admin> <login-config> <factor-boilerplate> "user-admin" add-responder
|
||||
<pastebin> <factor-recaptcha> <login-config> <factor-boilerplate> "pastebin" add-responder
|
||||
<planet> <login-config> <factor-boilerplate> "planet" add-responder
|
||||
|
@ -102,7 +102,7 @@ SYMBOLS: key-password key-file dh-file ;
|
|||
common-configuration
|
||||
<vhost-dispatcher>
|
||||
<concatenative-website>
|
||||
<wiki> "wiki" add-responder
|
||||
<wiki> <factor-recaptcha> "wiki" add-responder
|
||||
<user-admin> "user-admin" add-responder
|
||||
<login-config> <factor-boilerplate> website-db <alloy> "concatenative.org" add-responder
|
||||
<pastebin> <factor-recaptcha> <login-config> <factor-boilerplate> website-db <alloy> "paste.factorcode.org" add-responder
|
||||
|
|
|
@ -46,8 +46,8 @@ set-file-lines
|
|||
USING: sequences xml.syntax xml.writer ;
|
||||
|
||||
{ "three" "blind" "mice" }
|
||||
[ [XML <li><-></li> XML] ] map
|
||||
[XML <ul><-></ul> XML]
|
||||
[ [XML <li><-></li> XML] ] map
|
||||
[XML <ul><-></ul> XML]
|
||||
pprint-xml
|
||||
----
|
||||
USING: inspector io.files.info io.pathnames system tools.files ;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<% USING: namespaces http.client kernel io.files splitting random io io.encodings.utf8 sequences
|
||||
webapps.mason.version.data webapps.mason.backend webapps.mason.grids webapps.mason.downloads
|
||||
webapps.mason.utils html.elements accessors
|
||||
xml.writer ; %>
|
||||
webapps.mason.utils html.elements html.streams accessors
|
||||
xml.writer xmode.highlight ; %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
|
@ -45,12 +45,12 @@ xml.writer ; %>
|
|||
|
||||
<p>Factor belongs to the family of <em><a href="http://concatenative.org/wiki/view/Concatenative%20language">concatenative languages</a></em>: this means that, at the lowest level, a Factor program is a series of words (functions) that manipulate a stack of references to dynamically-typed values. This gives the language a powerful foundation which allows many abstractions and paradigms to be built on top. Reload this page to see a random code example below.</p>
|
||||
|
||||
<pre>
|
||||
<%
|
||||
<pre><%
|
||||
"resource:extra/websites/factorcode/examples.txt" utf8 file-lines
|
||||
{ "----" } split random "\n" join write
|
||||
%>
|
||||
</pre>
|
||||
{ "----" } split random
|
||||
"factor" [ highlight-lines ] with-html-writer
|
||||
[ xml>string write-html ] each
|
||||
%></pre>
|
||||
|
||||
<p>See the <a href="http://concatenative.org/wiki/view/Factor/Examples">example programs</a> page on the wiki for more.</p>
|
||||
|
||||
|
|
|
@ -93,6 +93,8 @@ enum special_object {
|
|||
OBJ_SLEEP_QUEUE = 66,
|
||||
|
||||
OBJ_VM_COMPILER = 67, /* version string of the compiler we were built with */
|
||||
|
||||
OBJ_WAITING_CALLBACKS = 68,
|
||||
};
|
||||
|
||||
/* save-image-and-exit discards special objects that are filled in on startup
|
||||
|
|
Loading…
Reference in New Issue