red: context [ #include %$ROOT-PATH$runtime/definitions.reds #include %$ROOT-PATH$runtime/macros.reds #include %$ROOT-PATH$runtime/datatypes/structures.reds cell!: alias struct! [ header [integer!] data1 [integer!] data2 [integer!] data3 [integer!] ] series-buffer!: alias struct! [ flags [integer!] node [int-ptr!] size [integer!] offset [cell!] tail [cell!] ] root-base: as cell! 0 get-root: func [ idx [integer!] return: [red-block!] ] [ as red-block! root-base + idx ] get-root-node: func [ idx [integer!] return: [node!] /local obj [red-object!] ] [ obj: as red-object! get-root idx obj/ctx ] #import [libRedRT-file stdcall [ boot: "red/boot" [] get-build-date: "red/get-build-date" [return: [c-string!]] copy-cell: "red/copy-cell" [src [cell!] dst [cell!] return: [cell!]] get-root-node2: "red/get-root-node2" [idx [integer!] return: [pointer! [integer!]]] type-check-alt: "red/type-check-alt" [ref [cell!] expected [red-typeset!] index [integer!] arg [cell!] return: [cell!]] type-check: "red/type-check" [expected [red-typeset!] index [integer!] arg [cell!] return: [cell!]] set-int-path*: "red/set-int-path*" [parent [cell!] index [integer!]] eval-int-path*: "red/eval-int-path*" [parent [cell!] index [integer!]] set-path*: "red/set-path*" [parent [cell!] element [cell!]] eval-path*: "red/eval-path*" [parent [cell!] element [cell!]] eval-int-path: "red/eval-int-path" [parent [cell!] index [integer!] return: [cell!]] eval-path: "red/eval-path" [parent [cell!] element [cell!] return: [cell!]] select-key*: "red/select-key*" [sub? [logic!] fetch? [logic!] return: [cell!]] alloc-bytes: "red/alloc-bytes" [size [integer!] return: [pointer! [integer!]]] alloc-cells: "red/alloc-cells" [size [integer!] return: [pointer! [integer!]]] get-cmdline-args: "red/get-cmdline-args" [return: [cell!]] fire: "red/fire" [[variadic] count [integer!] list [pointer! [integer!]]] set-type: "red/set-type" [cell [cell!] type [integer!]] report: "red/report" [type [cell!] id [cell!] arg1 [cell!] arg2 [cell!] arg3 [cell!]] f_routine: "f_routine" [] f_alert: "f_alert" [] f_also: "f_also" [] f_attempt: "f_attempt" [] f_comment: "f_comment" [] f_quit: "f_quit" [] f_empty?: "f_empty?" [] f_??: "f_??" [] f_probe: "f_probe" [] f_quote: "f_quote" [] f_first: "f_first" [] f_second: "f_second" [] f_third: "f_third" [] f_fourth: "f_fourth" [] f_fifth: "f_fifth" [] f_last: "f_last" [] f_spec-of: "f_spec-of" [] f_body-of: "f_body-of" [] f_words-of: "f_words-of" [] f_class-of: "f_class-of" [] f_values-of: "f_values-of" [] f_bitset?: "f_bitset?" [] f_binary?: "f_binary?" [] f_block?: "f_block?" [] f_char?: "f_char?" [] f_email?: "f_email?" [] f_file?: "f_file?" [] f_float?: "f_float?" [] f_get-path?: "f_get-path?" [] f_get-word?: "f_get-word?" [] f_hash?: "f_hash?" [] f_integer?: "f_integer?" [] f_issue?: "f_issue?" [] f_lit-path?: "f_lit-path?" [] f_lit-word?: "f_lit-word?" [] f_logic?: "f_logic?" [] f_map?: "f_map?" [] f_none?: "f_none?" [] f_pair?: "f_pair?" [] f_paren?: "f_paren?" [] f_path?: "f_path?" [] f_percent?: "f_percent?" [] f_refinement?: "f_refinement?" [] f_set-path?: "f_set-path?" [] f_set-word?: "f_set-word?" [] f_string?: "f_string?" [] f_tag?: "f_tag?" [] f_time?: "f_time?" [] f_typeset?: "f_typeset?" [] f_tuple?: "f_tuple?" [] f_unset?: "f_unset?" [] f_url?: "f_url?" [] f_word?: "f_word?" [] f_image?: "f_image?" [] f_date?: "f_date?" [] f_money?: "f_money?" [] f_ref?: "f_ref?" [] f_handle?: "f_handle?" [] f_error?: "f_error?" [] f_action?: "f_action?" [] f_native?: "f_native?" [] f_datatype?: "f_datatype?" [] f_function?: "f_function?" [] f_object?: "f_object?" [] f_op?: "f_op?" [] f_routine?: "f_routine?" [] f_vector?: "f_vector?" [] f_any-list?: "f_any-list?" [] f_any-block?: "f_any-block?" [] f_any-function?: "f_any-function?" [] f_any-object?: "f_any-object?" [] f_any-path?: "f_any-path?" [] f_any-string?: "f_any-string?" [] f_any-word?: "f_any-word?" [] f_series?: "f_series?" [] f_number?: "f_number?" [] f_immediate?: "f_immediate?" [] f_scalar?: "f_scalar?" [] f_all-word?: "f_all-word?" [] f_to-bitset: "f_to-bitset" [] f_to-binary: "f_to-binary" [] f_to-block: "f_to-block" [] f_to-char: "f_to-char" [] f_to-email: "f_to-email" [] f_to-file: "f_to-file" [] f_to-float: "f_to-float" [] f_to-get-path: "f_to-get-path" [] f_to-get-word: "f_to-get-word" [] f_to-hash: "f_to-hash" [] f_to-integer: "f_to-integer" [] f_to-issue: "f_to-issue" [] f_to-lit-path: "f_to-lit-path" [] f_to-lit-word: "f_to-lit-word" [] f_to-logic: "f_to-logic" [] f_to-map: "f_to-map" [] f_to-none: "f_to-none" [] f_to-pair: "f_to-pair" [] f_to-paren: "f_to-paren" [] f_to-path: "f_to-path" [] f_to-percent: "f_to-percent" [] f_to-refinement: "f_to-refinement" [] f_to-set-path: "f_to-set-path" [] f_to-set-word: "f_to-set-word" [] f_to-string: "f_to-string" [] f_to-tag: "f_to-tag" [] f_to-time: "f_to-time" [] f_to-typeset: "f_to-typeset" [] f_to-tuple: "f_to-tuple" [] f_to-unset: "f_to-unset" [] f_to-url: "f_to-url" [] f_to-word: "f_to-word" [] f_to-image: "f_to-image" [] f_to-date: "f_to-date" [] f_to-money: "f_to-money" [] f_to-ref: "f_to-ref" [] f_context: "f_context" [] f_alter: "f_alter" [] f_offset?: "f_offset?" [] f_repend: "f_repend" [] f_replace: "f_replace" [] f_math: "f_math" [] f_charset: "f_charset" [] f_ctx||174~on-parse-event: "f_ctx||174~on-parse-event" [octx [pointer! [integer!]]] f_parse-trace: "f_parse-trace" [octx [pointer! [integer!]]] f_suffix?: "f_suffix?" [] f_scan: "f_scan" [] f_load: "f_load" [] f_save: "f_save" [] f_cause-error: "f_cause-error" [] f_pad: "f_pad" [] f_mod: "f_mod" [] f_modulo: "f_modulo" [] f_eval-set-path: "f_eval-set-path" [] f_to-red-file: "f_to-red-file" [] f_dir?: "f_dir?" [] f_normalize-dir: "f_normalize-dir" [] f_what-dir: "f_what-dir" [] f_change-dir: "f_change-dir" [] f_make-dir: "f_make-dir" [] f_extract: "f_extract" [] f_extract-boot-args: "f_extract-boot-args" [] f_collect: "f_collect" [] f_flip-exe-flag: "f_flip-exe-flag" [] f_split: "f_split" [] f_dirize: "f_dirize" [] f_clean-path: "f_clean-path" [] f_split-path: "f_split-path" [] f_do-file: "f_do-file" [] f_path-thru: "f_path-thru" [] f_exists-thru?: "f_exists-thru?" [] f_read-thru: "f_read-thru" [] f_load-thru: "f_load-thru" [] f_do-thru: "f_do-thru" [] f_cos: "f_cos" [] f_sin: "f_sin" [] f_tan: "f_tan" [] f_acos: "f_acos" [] f_asin: "f_asin" [] f_atan: "f_atan" [] f_atan2: "f_atan2" [] f_sqrt: "f_sqrt" [] f_to-UTC-date: "f_to-UTC-date" [] f_to-local-date: "f_to-local-date" [] f_transcode-trace: "f_transcode-trace" [] f_rejoin: "f_rejoin" [] f_sum: "f_sum" [] f_average: "f_average" [] f_last?: "f_last?" [] f_dt: "f_dt" [] f_ctx||255~interpreted?: "f_ctx||255~interpreted?" [octx [pointer! [integer!]]] f_ctx||262~on-change*: "f_ctx||262~on-change*" [octx [pointer! [integer!]]] f_ctx||262~on-deep-change*: "f_ctx||262~on-deep-change*" [octx [pointer! [integer!]]] f_ctx||268~on-change*: "f_ctx||268~on-change*" [octx [pointer! [integer!]]] f_ctx||266~on-change*: "f_ctx||266~on-change*" [octx [pointer! [integer!]]] f_ctx||266~on-deep-change*: "f_ctx||266~on-deep-change*" [octx [pointer! [integer!]]] f_ctx||289~lex: "f_ctx||289~lex" [octx [pointer! [integer!]]] f_ctx||309~encode: "f_ctx||309~encode" [octx [pointer! [integer!]]] f_ctx||309~decode: "f_ctx||309~decode" [octx [pointer! [integer!]]] f_ctx||318~BOM-UTF-16?: "f_ctx||318~BOM-UTF-16?" [octx [pointer! [integer!]]] f_ctx||318~BOM-UTF-32?: "f_ctx||318~BOM-UTF-32?" [octx [pointer! [integer!]]] f_ctx||318~enquote: "f_ctx||318~enquote" [octx [pointer! [integer!]]] f_ctx||318~high-surrogate?: "f_ctx||318~high-surrogate?" [octx [pointer! [integer!]]] f_ctx||318~low-surrogate?: "f_ctx||318~low-surrogate?" [octx [pointer! [integer!]]] f_ctx||318~translit: "f_ctx||318~translit" [octx [pointer! [integer!]]] f_ctx||318~decode-backslash-escapes: "f_ctx||318~decode-backslash-escapes" [octx [pointer! [integer!]]] f_ctx||318~encode-backslash-escapes: "f_ctx||318~encode-backslash-escapes" [octx [pointer! [integer!]]] f_ctx||318~decode-unicode-char: "f_ctx||318~decode-unicode-char" [octx [pointer! [integer!]]] f_ctx||318~replace-unicode-escapes: "f_ctx||318~replace-unicode-escapes" [octx [pointer! [integer!]]] f_ctx||318~push: "f_ctx||318~push" [octx [pointer! [integer!]]] f_ctx||318~pop: "f_ctx||318~pop" [octx [pointer! [integer!]]] f_ctx||318~emit: "f_ctx||318~emit" [octx [pointer! [integer!]]] f_load-json: "f_load-json" [octx [pointer! [integer!]]] f_ctx||334~init-state: "f_ctx||334~init-state" [octx [pointer! [integer!]]] f_ctx||334~emit-indent: "f_ctx||334~emit-indent" [octx [pointer! [integer!]]] f_ctx||334~emit-key-value: "f_ctx||334~emit-key-value" [octx [pointer! [integer!]]] f_ctx||334~red-to-json-value: "f_ctx||334~red-to-json-value" [octx [pointer! [integer!]]] f_to-json: "f_to-json" [octx [pointer! [integer!]]] f_ctx||342~encode: "f_ctx||342~encode" [octx [pointer! [integer!]]] f_ctx||342~decode: "f_ctx||342~decode" [octx [pointer! [integer!]]] f_ctx||347~to-csv-line: "f_ctx||347~to-csv-line" [octx [pointer! [integer!]]] f_ctx||347~escape-value: "f_ctx||347~escape-value" [octx [pointer! [integer!]]] f_ctx||347~next-column-name: "f_ctx||347~next-column-name" [octx [pointer! [integer!]]] f_ctx||347~make-header: "f_ctx||347~make-header" [octx [pointer! [integer!]]] f_ctx||347~get-columns: "f_ctx||347~get-columns" [octx [pointer! [integer!]]] f_ctx||347~encode-map: "f_ctx||347~encode-map" [octx [pointer! [integer!]]] f_ctx||347~encode-maps: "f_ctx||347~encode-maps" [octx [pointer! [integer!]]] f_ctx||347~encode-flat: "f_ctx||347~encode-flat" [octx [pointer! [integer!]]] f_ctx||347~encode-blocks: "f_ctx||347~encode-blocks" [octx [pointer! [integer!]]] f_load-csv: "f_load-csv" [octx [pointer! [integer!]]] f_to-csv: "f_to-csv" [octx [pointer! [integer!]]] f_ctx||364~on-change*: "f_ctx||364~on-change*" [octx [pointer! [integer!]]] f_ctx||367~on-change*: "f_ctx||367~on-change*" [octx [pointer! [integer!]]] f_ctx||367~on-deep-change*: "f_ctx||367~on-deep-change*" [octx [pointer! [integer!]]] f_reactor: "f_reactor" [] f_deep-reactor: "f_deep-reactor" [] f_ctx||372~add-relation: "f_ctx||372~add-relation" [octx [pointer! [integer!]]] f_ctx||372~eval: "f_ctx||372~eval" [octx [pointer! [integer!]]] f_ctx||372~eval-reaction: "f_ctx||372~eval-reaction" [octx [pointer! [integer!]]] f_ctx||372~pending?: "f_ctx||372~pending?" [octx [pointer! [integer!]]] f_ctx||372~check: "f_ctx||372~check" [octx [pointer! [integer!]]] f_stop-reactor: "f_stop-reactor" [octx [pointer! [integer!]]] f_clear-reactions: "f_clear-reactions" [octx [pointer! [integer!]]] f_dump-reactions: "f_dump-reactions" [octx [pointer! [integer!]]] f_ctx||372~is~: "f_ctx||372~is~" [octx [pointer! [integer!]]] f_react?: "f_react?" [octx [pointer! [integer!]]] f_react: "f_react" [octx [pointer! [integer!]]] f_register-scheme: "f_register-scheme" [] f_ctx||387~alpha-num+: "f_ctx||387~alpha-num+" [octx [pointer! [integer!]]] f_ctx||387~parse-url: "f_ctx||387~parse-url" [octx [pointer! [integer!]]] f_decode-url: "f_decode-url" [octx [pointer! [integer!]]] f_encode-url: "f_encode-url" [octx [pointer! [integer!]]] f_ctx||393~do-quit: "f_ctx||393~do-quit" [octx [pointer! [integer!]]] f_ctx||393~throw-error: "f_ctx||393~throw-error" [octx [pointer! [integer!]]] f_ctx||393~syntax-error: "f_ctx||393~syntax-error" [octx [pointer! [integer!]]] f_ctx||393~do-safe: "f_ctx||393~do-safe" [octx [pointer! [integer!]]] f_ctx||393~do-code: "f_ctx||393~do-code" [octx [pointer! [integer!]]] f_ctx||393~count-args: "f_ctx||393~count-args" [octx [pointer! [integer!]]] f_ctx||393~arg-mode?: "f_ctx||393~arg-mode?" [octx [pointer! [integer!]]] f_ctx||393~func-arity?: "f_ctx||393~func-arity?" [octx [pointer! [integer!]]] f_ctx||393~value-path?: "f_ctx||393~value-path?" [octx [pointer! [integer!]]] f_ctx||393~fetch-next: "f_ctx||393~fetch-next" [octx [pointer! [integer!]]] f_ctx||393~eval: "f_ctx||393~eval" [octx [pointer! [integer!]]] f_ctx||393~do-macro: "f_ctx||393~do-macro" [octx [pointer! [integer!]]] f_ctx||393~register-macro: "f_ctx||393~register-macro" [octx [pointer! [integer!]]] f_ctx||393~reset: "f_ctx||393~reset" [octx [pointer! [integer!]]] f_ctx||393~expand: "f_ctx||393~expand" [octx [pointer! [integer!]]] f_expand-directives: "f_expand-directives" [octx [pointer! [integer!]]] f_hex-to-rgb: "f_hex-to-rgb" [] f_within?: "f_within?" [] f_overlap?: "f_overlap?" [] f_distance?: "f_distance?" [] f_face?: "f_face?" [] f_size-text: "f_size-text" [] f_caret-to-offset: "f_caret-to-offset" [] f_offset-to-caret: "f_offset-to-caret" [] f_offset-to-char: "f_offset-to-char" [] f_ctx||429~tail-idx?: "f_ctx||429~tail-idx?" [octx [pointer! [integer!]]] f_ctx||429~push-color: "f_ctx||429~push-color" [octx [pointer! [integer!]]] f_ctx||429~pop-color: "f_ctx||429~pop-color" [octx [pointer! [integer!]]] f_ctx||429~close-colors: "f_ctx||429~close-colors" [octx [pointer! [integer!]]] f_ctx||429~push: "f_ctx||429~push" [octx [pointer! [integer!]]] f_ctx||429~pop: "f_ctx||429~pop" [octx [pointer! [integer!]]] f_ctx||429~pop-all: "f_ctx||429~pop-all" [octx [pointer! [integer!]]] f_ctx||429~optimize: "f_ctx||429~optimize" [octx [pointer! [integer!]]] f_rtd-layout: "f_rtd-layout" [octx [pointer! [integer!]]] f_ctx||427~line-height?: "f_ctx||427~line-height?" [octx [pointer! [integer!]]] f_ctx||427~line-count?: "f_ctx||427~line-count?" [octx [pointer! [integer!]]] f_metrics?: "f_metrics?" [] f_set-flag: "f_set-flag" [] f_debug-info?: "f_debug-info?" [] f_on-face-deep-change*: "f_on-face-deep-change*" [] f_link-tabs-to-parent: "f_link-tabs-to-parent" [] f_link-sub-to-parent: "f_link-sub-to-parent" [] f_update-font-faces: "f_update-font-faces" [] f_ctx||449~on-change*: "f_ctx||449~on-change*" [octx [pointer! [integer!]]] f_ctx||449~on-deep-change*: "f_ctx||449~on-deep-change*" [octx [pointer! [integer!]]] f_ctx||453~on-change*: "f_ctx||453~on-change*" [octx [pointer! [integer!]]] f_ctx||453~on-deep-change*: "f_ctx||453~on-deep-change*" [octx [pointer! [integer!]]] f_ctx||457~on-change*: "f_ctx||457~on-change*" [octx [pointer! [integer!]]] f_ctx||460~on-change*: "f_ctx||460~on-change*" [octx [pointer! [integer!]]] f_ctx||463~capture-events: "f_ctx||463~capture-events" [octx [pointer! [integer!]]] f_ctx||463~awake: "f_ctx||463~awake" [octx [pointer! [integer!]]] f_ctx||472~init: "f_ctx||472~init" [octx [pointer! [integer!]]] f_draw: "f_draw" [] f_ctx||482~color-backgrounds: "f_ctx||482~color-backgrounds" [octx [pointer! [integer!]]] f_ctx||482~color-tabpanel-children: "f_ctx||482~color-tabpanel-children" [octx [pointer! [integer!]]] f_ctx||482~OK-Cancel: "f_ctx||482~OK-Cancel" [octx [pointer! [integer!]]] f_ctx||480~process: "f_ctx||480~process" [octx [pointer! [integer!]]] f_ctx||478~throw-error: "f_ctx||478~throw-error" [octx [pointer! [integer!]]] f_ctx||478~process-reactors: "f_ctx||478~process-reactors" [octx [pointer! [integer!]]] f_ctx||478~calc-size: "f_ctx||478~calc-size" [octx [pointer! [integer!]]] f_ctx||478~align-faces: "f_ctx||478~align-faces" [octx [pointer! [integer!]]] f_ctx||478~resize-child-panels: "f_ctx||478~resize-child-panels" [octx [pointer! [integer!]]] f_ctx||478~clean-style: "f_ctx||478~clean-style" [octx [pointer! [integer!]]] f_ctx||478~process-draw: "f_ctx||478~process-draw" [octx [pointer! [integer!]]] f_ctx||478~pre-load: "f_ctx||478~pre-load" [octx [pointer! [integer!]]] f_ctx||478~add-option: "f_ctx||478~add-option" [octx [pointer! [integer!]]] f_ctx||478~add-flag: "f_ctx||478~add-flag" [octx [pointer! [integer!]]] f_ctx||478~fetch-value: "f_ctx||478~fetch-value" [octx [pointer! [integer!]]] f_ctx||478~fetch-argument: "f_ctx||478~fetch-argument" [octx [pointer! [integer!]]] f_ctx||478~fetch-expr: "f_ctx||478~fetch-expr" [octx [pointer! [integer!]]] f_ctx||478~fetch-options: "f_ctx||478~fetch-options" [octx [pointer! [integer!]]] f_ctx||478~make-actor: "f_ctx||478~make-actor" [octx [pointer! [integer!]]] f_layout: "f_layout" [octx [pointer! [integer!]]] f_do-events: "f_do-events" [] f_stop-events: "f_stop-events" [] f_do-safe: "f_do-safe" [] f_do-actor: "f_do-actor" [] f_show: "f_show" [] f_unview: "f_unview" [] f_view: "f_view" [] f_center-face: "f_center-face" [] f_make-face: "f_make-face" [] f_dump-face: "f_dump-face" [] f_get-scroller: "f_get-scroller" [] f_insert-event-func: "f_insert-event-func" [] f_remove-event-func: "f_remove-event-func" [] f_request-font: "f_request-font" [] f_request-file: "f_request-file" [] f_request-dir: "f_request-dir" [] f_set-focus: "f_set-focus" [] f_foreach-face: "f_foreach-face" [] f_keep: "f_keep" [] quit-return: "quit-return" [status [integer!]] set-quiet: "set-quiet" [word [cell!] value [cell!]] set-slot-quiet: "set-slot-quiet" [series [cell!] value [cell!]] shift-right: "shift-right" [data [integer!] bits [integer!]] shift-left: "shift-left" [data [integer!] bits [integer!]] shift-logical: "shift-logical" [data [integer!] bits [integer!]] last-lf?: "last-lf?" [] get-current-dir: "get-current-dir" [] set-current-dir: "set-current-dir" [path [red-string!]] create-dir: "create-dir" [path [red-file!]] exists?: "exists?" [path [red-file!] return: [logic!]] os-info: "os-info" [] as-color: "as-color" [r [integer!] g [integer!] b [integer!]] as-ipv4: "as-ipv4" [a [integer!] b [integer!] c [integer!] d [integer!]] count-chars: "count-chars" [start [red-binary!] pos [red-binary!] return: [integer!]] read-clipboard: "read-clipboard" [return: [cell!]] write-clipboard: "write-clipboard" [data [cell!] return: [logic!]] write-stdout: "write-stdout" [data [cell!]] __make-sys-object: "__make-sys-object" [] ctx||293~encode: "ctx||293~encode" [img [red-image!] where [cell!]] ctx||293~decode: "ctx||293~decode" [data [cell!]] ctx||297~encode: "ctx||297~encode" [img [red-image!] where [cell!]] ctx||297~decode: "ctx||297~decode" [data [cell!]] ctx||301~encode: "ctx||301~encode" [img [red-image!] where [cell!]] ctx||301~decode: "ctx||301~decode" [data [cell!]] ctx||305~encode: "ctx||305~encode" [img [red-image!] where [cell!]] ctx||305~decode: "ctx||305~decode" [data [cell!]] ctx||361~encode: "ctx||361~encode" [data [cell!] where [cell!]] ctx||361~decode: "ctx||361~decode" [payload [cell!]] event?: "event?" [value [cell!] return: [logic!]] find-flag?: "find-flag?" [facet [cell!] flag [red-word!]] ctx||472~make-null-handle: "ctx||472~make-null-handle" [] ctx||472~get-screen-size: "ctx||472~get-screen-size" [id [integer!]] ctx||472~size-text: "ctx||472~size-text" [face [red-object!] value [cell!]] ctx||472~on-change-facet: "ctx||472~on-change-facet" [owner [red-object!] word [red-word!] value [cell!] action [red-word!] new [cell!] index [integer!] part [integer!]] ctx||472~update-font: "ctx||472~update-font" [font [red-object!] flags [integer!]] ctx||472~update-para: "ctx||472~update-para" [face [red-object!] flags [integer!]] ctx||472~destroy-view: "ctx||472~destroy-view" [face [red-object!] empty? [logic!]] ctx||472~update-view: "ctx||472~update-view" [face [red-object!]] ctx||472~refresh-window: "ctx||472~refresh-window" [h [red-handle!]] ctx||472~redraw: "ctx||472~redraw" [face [red-object!]] ctx||472~show-window: "ctx||472~show-window" [id [red-handle!]] ctx||472~make-view: "ctx||472~make-view" [face [red-object!] parent [red-handle!]] ctx||472~draw-image: "ctx||472~draw-image" [image [red-image!] cmds [red-block!]] ctx||472~draw-face: "ctx||472~draw-face" [face [red-object!] cmds [red-block!]] ctx||472~do-event-loop: "ctx||472~do-event-loop" [no-wait? [logic!]] ctx||472~exit-event-loop: "ctx||472~exit-event-loop" [] ctx||472~request-font: "ctx||472~request-font" [font [red-object!] selected [red-object!] mono? [logic!]] ctx||472~request-file: "ctx||472~request-file" [title [red-string!] name [red-file!] filter [red-block!] save? [logic!] multi? [logic!]] ctx||472~request-dir: "ctx||472~request-dir" [title [red-string!] dir [red-file!] filter [red-block!] keep? [logic!] multi? [logic!]] ctx||472~text-box-metrics: "ctx||472~text-box-metrics" [box [red-object!] arg0 [cell!] type [integer!]] ctx||472~update-scroller: "ctx||472~update-scroller" [scroller [red-object!] flags [integer!]] throw-draw-error: "throw-draw-error" [cmds [red-block!] cmd [cell!] catch? [logic!]] transparent-color?: "transparent-color?" [color [red-tuple!] return: [logic!]] get-color-int: "get-color-int" [tp [red-tuple!] alpha? [pointer! [integer!]] return: [integer!]] get-float: "get-float" [int [red-integer!] return: [float!]] get-float32: "get-float32" [int [red-integer!] return: [float32!]] reverse-int-array: "reverse-int-array" [array [pointer! [integer!]] count [integer!]] reverse-float32-array: "reverse-float32-array" [array [pointer! [float32!]] count [integer!]] old-gradient-pen: "old-gradient-pen" [DC [draw-ctx!] cmds [red-block!] start [cell!] tail [cell!] cmd [cell!] sym [integer!] catch? [logic!] return: [cell!]] check-pen: "check-pen" [DC [draw-ctx!] cmds [red-block!] start [cell!] tail [cell!] cmd [cell!] sym [integer!] catch? [logic!] return: [cell!]] check-line: "check-line" [DC [draw-ctx!] cmds [red-block!] start [cell!] tail [cell!] cmd [cell!] sym [integer!] catch? [logic!] return: [cell!]] parse-shape: "parse-shape" [DC [draw-ctx!] cmds [red-block!] draw? [logic!] catch? [logic!]] parse-draw: "parse-draw" [DC [draw-ctx!] cmds [red-block!] catch? [logic!]] do-draw: "do-draw" [handle [pointer! [integer!]] img [red-image!] cmds [red-block!] on-graphic? [logic!] cache? [logic!] paint? [logic!] catch? [logic!]] parse-text-styles: "parse-text-styles" [dc [pointer! [integer!]] layout [pointer! [integer!]] cmds [red-block!] text [red-string!] catch? [logic!]] as-rgba: "as-ipv4" [a [integer!] b [integer!] c [integer!] d [integer!]] f_single?: "f_last?" [] f_keys-of: "f_words-of" [] f_object: "f_context" [] f_halt: "f_quit" [] root: "red/root" [red-block!] unset-value: "red/unset-value" [cell!] none-value: "red/none-value" [cell!] true-value: "red/true-value" [cell!] false-value: "red/false-value" [cell!] boot?: "red/boot?" [logic!] ]] redbin: context [ #import [libRedRT-file stdcall [ boot-load: "red/redbin/boot-load" [payload [pointer! [byte!]] keep? [logic!] return: [cell!]] ]] ] platform: context [ #import [libRedRT-file stdcall [ prin*: "red/platform/prin*" [s [c-string!] return: [c-string!]] prin-int*: "red/platform/prin-int*" [i [integer!] return: [integer!]] prin-hex*: "red/platform/prin-hex*" [i [integer!] return: [integer!]] prin-2hex*: "red/platform/prin-2hex*" [i [integer!] return: [integer!]] prin-float*: "red/platform/prin-float*" [f [float!] return: [float!]] prin-float32*: "red/platform/prin-float32*" [f [float32!] return: [float32!]] ]] ] stack: context [ #import [libRedRT-file stdcall [ mark: "red/stack/mark" [fun [red-word!] type [integer!]] mark-native: "red/stack/mark-native" [fun [red-word!]] mark-func: "red/stack/mark-func" [fun [red-word!] ctx-name [pointer! [integer!]]] mark-loop: "red/stack/mark-loop" [fun [red-word!]] mark-try: "red/stack/mark-try" [fun [red-word!]] mark-try-all: "red/stack/mark-try-all" [fun [red-word!]] mark-catch: "red/stack/mark-catch" [fun [red-word!]] mark-func-body: "red/stack/mark-func-body" [fun [red-word!]] unwind: "red/stack/unwind" [] unwind-last: "red/stack/unwind-last" [return: [cell!]] reset: "red/stack/reset" [return: [cell!]] keep: "red/stack/keep" [return: [cell!]] push: "red/stack/push" [value [cell!] return: [cell!]] check-call: "red/stack/check-call" [] unroll: "red/stack/unroll" [flags [integer!]] unroll-loop: "red/stack/unroll-loop" [inner? [logic!]] revert: "red/stack/revert" [] adjust-post-try: "red/stack/adjust-post-try" [] pop: "red/stack/pop" [positions [integer!]] set-last: "red/stack/set-last" [last [cell!] return: [cell!]] push*: "red/stack/push*" [return: [cell!]] arguments: "red/stack/arguments" [cell!] top: "red/stack/top" [cell!] bottom: "red/stack/bottom" [cell!] ]] #enum flags! [FRAME_FUNCTION: 16777216] ] interpreter: context [ #import [libRedRT-file stdcall [ eval-path: "red/interpreter/eval-path" [value [cell!] pc [cell!] end [cell!] set? [logic!] get? [logic!] sub? [logic!] case? [logic!] return: [cell!]] ]] ] lexer: context [ #import [libRedRT-file stdcall [ scan: "red/lexer/scan" [dst [cell!] src [pointer! [byte!]] size [integer!] one? [logic!] scan? [logic!] load? [logic!] wrap? [logic!] len [pointer! [integer!]] fun [red-function!] ser [red-series!] out [red-block!] return: [integer!]] scan-alt: "red/lexer/scan-alt" [dst [cell!] str [red-string!] size [integer!] one? [logic!] scan? [logic!] load? [logic!] wrap? [logic!] len [pointer! [integer!]] fun [red-function!] out [red-block!] return: [integer!]] ]] ] none: context [ #import [libRedRT-file stdcall [ push-last: "red/none/push-last" [return: [cell!]] push: "red/none/push" [return: [cell!]] ]] ] logic: context [ #import [libRedRT-file stdcall [ false?: "red/logic/false?" [return: [logic!]] true?: "red/logic/true?" [return: [logic!]] push: "red/logic/push" [value [logic!] return: [red-logic!]] get: "red/logic/get" [value [cell!] return: [logic!]] box: "red/logic/box" [value [logic!] return: [red-logic!]] make-in: "red/logic/make-in" [parent [red-block!] value [logic!] return: [red-logic!]] ]] ] refinement: context [ #import [libRedRT-file stdcall [ push-local: "red/refinement/push-local" [node [pointer! [integer!]] index [integer!] return: [red-refinement!]] push: "red/refinement/push" [w [red-word!]] ]] ] lit-word: context [ #import [libRedRT-file stdcall [ push-local: "red/lit-word/push-local" [node [pointer! [integer!]] index [integer!] return: [red-word!]] push: "red/lit-word/push" [w [red-word!] return: [red-word!]] ]] ] binary: context [ #import [libRedRT-file stdcall [ push: "red/binary/push" [bin [red-binary!]] rs-head: "red/binary/rs-head" [bin [red-binary!] return: [pointer! [byte!]]] rs-tail: "red/binary/rs-tail" [bin [red-binary!] return: [pointer! [byte!]]] rs-length?: "red/binary/rs-length?" [bin [red-binary!] return: [integer!]] ]] ] block: context [ #import [libRedRT-file stdcall [ push: "red/block/push" [blk [red-block!]] push-only*: "red/block/push-only*" [size [integer!] return: [red-block!]] insert-thru: "red/block/insert-thru" [] append-thru: "red/block/append-thru" [] rs-head: "red/block/rs-head" [blk [red-block!] return: [cell!]] rs-next: "red/block/rs-next" [blk [red-block!] return: [logic!]] rs-tail?: "red/block/rs-tail?" [blk [red-block!] return: [logic!]] rs-length?: "red/block/rs-length?" [blk [red-block!] return: [integer!]] rs-abs-at: "red/block/rs-abs-at" [blk [red-block!] pos [integer!] return: [cell!]] rs-append: "red/block/rs-append" [blk [red-block!] value [cell!] return: [cell!]] rs-tail: "red/block/rs-tail" [blk [red-block!] return: [cell!]] rs-clear: "red/block/rs-clear" [blk [red-block!]] make-at: "red/block/make-at" [blk [red-block!] size [integer!] return: [red-block!]] select-word: "red/block/select-word" [blk [red-block!] word [red-word!] case? [logic!] return: [cell!]] find: "red/block/find" [blk [red-block!] value [cell!] part [cell!] only? [logic!] case? [logic!] same? [logic!] any? [logic!] with-arg [red-string!] skip [red-integer!] last? [logic!] reverse? [logic!] tail? [logic!] match? [logic!] return: [cell!]] ]] ] char: context [ #import [libRedRT-file stdcall [ push: "red/char/push" [value [integer!] return: [red-char!]] ]] ] datatype: context [ #import [libRedRT-file stdcall [ push: "red/datatype/push" [type [integer!] return: [red-datatype!]] register: "red/datatype/register" [[variadic] count [integer!] list [pointer! [integer!]]] ]] ] date: context [ #import [libRedRT-file stdcall [ push: "red/date/push" [date [integer!] time [float!] return: [red-date!]] ]] ] email: context [ #import [libRedRT-file stdcall [ push: "red/email/push" [email [red-email!]] ]] ] file: context [ #import [libRedRT-file stdcall [ push: "red/file/push" [file [red-file!]] ]] ] float: context [ #import [libRedRT-file stdcall [ push: "red/float/push" [value [float!] return: [red-float!]] push64: "red/float/push64" [high [integer!] low [integer!] return: [red-float!]] get: "red/float/get" [value [cell!] return: [float!]] box: "red/float/box" [value [float!] return: [red-float!]] ]] ] _function: context [ #import [libRedRT-file stdcall [ push: "red/_function/push" [spec [red-block!] body [red-block!] ctx [pointer! [integer!]] code [integer!] obj-ctx [pointer! [integer!]] return: [pointer! [integer!]]] init-locals: "red/_function/init-locals" [nb [integer!]] ]] ] get-path: context [ #import [libRedRT-file stdcall [ push: "red/get-path/push" [p [red-block!]] ]] ] get-word: context [ #import [libRedRT-file stdcall [ push: "red/get-word/push" [w [red-word!] return: [red-word!]] get: "red/get-word/get" [word [red-word!] return: [cell!]] ]] ] integer: context [ #import [libRedRT-file stdcall [ push: "red/integer/push" [value [integer!] return: [red-integer!]] get-any*: "red/integer/get-any*" [return: [integer!]] get*: "red/integer/get*" [return: [integer!]] get: "red/integer/get" [value [cell!] return: [integer!]] make-at: "red/integer/make-at" [slot [cell!] value [integer!] return: [red-integer!]] form-signed: "red/integer/form-signed" [i [integer!] return: [c-string!]] box: "red/integer/box" [value [integer!] return: [red-integer!]] make-in: "red/integer/make-in" [parent [red-block!] value [integer!] return: [red-integer!]] ]] ] issue: context [ #import [libRedRT-file stdcall [ push: "red/issue/push" [w [red-word!]] ]] ] lit-path: context [ #import [libRedRT-file stdcall [ push: "red/lit-path/push" [p [red-block!]] ]] ] map: context [ #import [libRedRT-file stdcall [ push: "red/map/push" [map [red-hash!]] ]] ] money: context [ #import [libRedRT-file stdcall [ push: "red/money/push" [sign [logic!] currency [integer!] amount [c-string!] return: [red-money!]] ]] ] object: context [ #import [libRedRT-file stdcall [ push: "red/object/push" [ctx [pointer! [integer!]] evt [pointer! [integer!]] class [integer!] idx-s [integer!] loc-s [integer!] idx-d [integer!] loc-d [integer!] return: [red-object!]] duplicate: "red/object/duplicate" [src [pointer! [integer!]] dst [pointer! [integer!]] copy? [logic!]] transfer: "red/object/transfer" [src [pointer! [integer!]] dst [pointer! [integer!]]] init-push: "red/object/init-push" [node [pointer! [integer!]] class [integer!] return: [red-object!]] init-events: "red/object/init-events" [ctx [pointer! [integer!]] idx-s [integer!] loc-s [integer!] idx-d [integer!] loc-d [integer!] return: [pointer! [integer!]]] loc-fire-on-set*: "red/object/loc-fire-on-set*" [parent [cell!] field [red-word!]] loc-ctx-fire-on-set*: "red/object/loc-ctx-fire-on-set*" [parent-ctx [pointer! [integer!]] field [red-word!]] fire-on-set*: "red/object/fire-on-set*" [parent [red-word!] field [red-word!]] get-values: "red/object/get-values" [obj [red-object!] return: [cell!]] unchanged?: "red/object/unchanged?" [word [red-word!] id [integer!] return: [logic!]] unchanged2?: "red/object/unchanged2?" [node [pointer! [integer!]] index [integer!] id [integer!] return: [logic!]] get-word: "red/object/get-word" [obj [pointer! [integer!]] index [integer!] return: [cell!]] rs-find: "red/object/rs-find" [obj [red-object!] value [cell!] return: [integer!]] path-parent: "red/object/path-parent" [cell!] field-parent: "red/object/field-parent" [cell!] ]] ] op: context [ #import [libRedRT-file stdcall [ push: "red/op/push" [] ]] ] pair: context [ #import [libRedRT-file stdcall [ push: "red/pair/push" [x [integer!] y [integer!] return: [red-pair!]] ]] ] paren: context [ #import [libRedRT-file stdcall [ push: "red/paren/push" [paren [red-paren!]] ]] ] path: context [ #import [libRedRT-file stdcall [ push: "red/path/push" [p [red-path!]] ]] ] percent: context [ #import [libRedRT-file stdcall [ push: "red/percent/push" [value [float!] return: [red-float!]] push64: "red/percent/push64" [high [integer!] low [integer!] return: [red-float!]] ]] ] ref: context [ #import [libRedRT-file stdcall [ push: "red/ref/push" [ref [red-ref!]] ]] ] routine: context [ #import [libRedRT-file stdcall [ push: "red/routine/push" [spec [red-block!] body [red-block!] code [integer!] ret-type [integer!] extern? [logic!] return: [red-routine!]] ]] ] set-path: context [ #import [libRedRT-file stdcall [ push: "red/set-path/push" [p [red-block!]] ]] ] set-word: context [ #import [libRedRT-file stdcall [ push: "red/set-word/push" [w [red-word!] return: [red-word!]] push-local: "red/set-word/push-local" [node [pointer! [integer!]] index [integer!] return: [red-word!]] ]] ] string: context [ #import [libRedRT-file stdcall [ push: "red/string/push" [str [red-string!] return: [red-string!]] rs-head: "red/string/rs-head" [str [red-string!] return: [pointer! [byte!]]] rs-tail?: "red/string/rs-tail?" [str [red-string!] return: [logic!]] equal?: "red/string/equal?" [str1 [red-string!] str2 [red-string!] op [integer!] match? [logic!] return: [integer!]] rs-make-at: "red/string/rs-make-at" [slot [cell!] size [integer!] return: [red-string!]] get-char: "red/string/get-char" [p [pointer! [byte!]] unit [integer!] return: [integer!]] rs-reset: "red/string/rs-reset" [str [red-string!]] concatenate: "red/string/concatenate" [str1 [red-string!] str2 [red-string!] part [integer!] offset [integer!] keep? [logic!] insert? [logic!]] rs-length?: "red/string/rs-length?" [str [red-string!] return: [integer!]] concatenate-literal: "red/string/concatenate-literal" [str [red-string!] p [c-string!] return: [series-buffer!]] append-char: "red/string/append-char" [s [series-buffer!] cp [integer!] return: [series-buffer!]] insert-char: "red/string/insert-char" [s [series-buffer!] offset [integer!] cp [integer!] return: [series-buffer!]] rs-abs-length?: "red/string/rs-abs-length?" [str [red-string!] return: [integer!]] remove-char: "red/string/remove-char" [str [red-string!] offset [integer!] return: [red-string!]] poke-char: "red/string/poke-char" [s [series-buffer!] p [pointer! [byte!]] cp [integer!] return: [series-buffer!]] remove-part: "red/string/remove-part" [str [red-string!] offset [integer!] part [integer!] return: [red-string!]] to-hex: "red/string/to-hex" [value [integer!] char? [logic!] return: [c-string!]] make-at: "red/string/make-at" [slot [cell!] size [integer!] unit [integer!] return: [red-string!]] load: "red/string/load" [src [c-string!] size [integer!] encoding [integer!] return: [red-string!]] load-at: "red/string/load-at" [src [c-string!] size [integer!] slot [cell!] encoding [integer!] return: [red-string!]] ]] ] tag: context [ #import [libRedRT-file stdcall [ push: "red/tag/push" [tag [red-tag!]] ]] ] time: context [ #import [libRedRT-file stdcall [ push: "red/time/push" [time [float!] return: [red-time!]] ]] ] tuple: context [ #import [libRedRT-file stdcall [ push: "red/tuple/push" [size [integer!] arr1 [integer!] arr2 [integer!] arr3 [integer!] return: [red-tuple!]] ]] ] typeset: context [ #import [libRedRT-file stdcall [ push: "red/typeset/push" [sets [red-typeset!]] ]] ] unset: context [ #import [libRedRT-file stdcall [ push: "red/unset/push" [return: [red-unset!]] ]] ] url: context [ #import [libRedRT-file stdcall [ push: "red/url/push" [url [red-url!]] ]] ] vector: context [ #import [libRedRT-file stdcall [ push: "red/vector/push" [vec [red-vector!]] rs-head: "red/vector/rs-head" [vec [red-vector!] return: [pointer! [byte!]]] rs-tail: "red/vector/rs-tail" [vec [red-vector!] return: [pointer! [byte!]]] rs-tail?: "red/vector/rs-tail?" [vec [red-vector!] return: [logic!]] rs-length?: "red/vector/rs-length?" [vec [red-vector!] return: [integer!]] rs-skip: "red/vector/rs-skip" [vec [red-vector!] len [integer!] return: [logic!]] rs-next: "red/vector/rs-next" [vec [red-vector!] return: [logic!]] rs-clear: "red/vector/rs-clear" [vec [red-vector!]] rs-append: "red/vector/rs-append" [vec [red-vector!] value [cell!] return: [cell!]] rs-append-int: "red/vector/rs-append-int" [vec [red-vector!] n [integer!]] rs-overwrite: "red/vector/rs-overwrite" [vec [red-vector!] offset [integer!] value [cell!] return: [series-buffer!]] rs-insert: "red/vector/rs-insert" [vec [red-vector!] offset [integer!] value [cell!] return: [series-buffer!]] get-value: "red/vector/get-value" [p [pointer! [byte!]] unit [integer!] type [integer!] return: [cell!]] get-value-int: "red/vector/get-value-int" [p [pointer! [integer!]] unit [integer!] return: [integer!]] get-value-float: "red/vector/get-value-float" [p [pointer! [byte!]] unit [integer!] return: [float!]] set-value: "red/vector/set-value" [p [pointer! [byte!]] value [cell!] unit [integer!]] ]] ] word: context [ #import [libRedRT-file stdcall [ push: "red/word/push" [word [red-word!] return: [red-word!]] get: "red/word/get" [word [red-word!] return: [cell!]] get-local: "red/word/get-local" [node [pointer! [integer!]] index [integer!] return: [cell!]] get-any: "red/word/get-any" [word [red-word!] return: [cell!]] get-in: "red/word/get-in" [node [pointer! [integer!]] index [integer!] return: [cell!]] set-in: "red/word/set-in" [node [pointer! [integer!]] index [integer!] return: [cell!]] set-in-ctx: "red/word/set-in-ctx" [node [pointer! [integer!]] index [integer!]] set: "red/word/set" [] replace: "red/word/replace" [node [pointer! [integer!]] index [integer!]] from: "red/word/from" [node [pointer! [integer!]] index [integer!] return: [red-word!]] load: "red/word/load" [str [c-string!] return: [red-word!]] push-local: "red/word/push-local" [node [pointer! [integer!]] index [integer!] return: [red-word!]] duplicate: "red/word/duplicate" [w [red-word!] return: [red-word!]] push*: "red/word/push*" [id [integer!] return: [red-word!]] make-at: "red/word/make-at" [id [integer!] pos [cell!] return: [red-word!]] push-in: "red/word/push-in" [id [integer!] blk [red-block!] return: [red-word!]] ]] ] _context: context [ #import [libRedRT-file stdcall [ get: "red/_context/get" [word [red-word!] return: [cell!]] clone-words: "red/_context/clone-words" [slot [red-block!] type [context-type!] return: [pointer! [integer!]]] set-integer: "red/_context/set-integer" [word [red-word!] value [integer!] return: [integer!]] set: "red/_context/set" [word [red-word!] value [cell!] return: [cell!]] ]] ] handle: context [ #import [libRedRT-file stdcall [ box: "red/handle/box" [value [integer!] return: [red-handle!]] make-in: "red/handle/make-in" [parent [red-block!] value [integer!] return: [red-handle!]] ]] ] _series: context [ #import [libRedRT-file stdcall [ copy: "red/_series/copy" [ser [red-series!] new [red-series!] part-arg [cell!] deep? [logic!] types [cell!] return: [red-series!]] remove: "red/_series/remove" [ser [red-series!] part-arg [cell!] key-arg [cell!] return: [red-series!]] ]] ] symbol: context [ #import [libRedRT-file stdcall [ make: "red/symbol/make" [s [c-string!] return: [integer!]] resolve: "red/symbol/resolve" [id [integer!] return: [integer!]] ]] ] unicode: context [ #import [libRedRT-file stdcall [ load-utf8: "red/unicode/load-utf8" [src [c-string!] size [integer!] return: [pointer! [integer!]]] decode-utf8-char: "red/unicode/decode-utf8-char" [src [c-string!] cnt [pointer! [integer!]] return: [integer!]] to-utf8: "red/unicode/to-utf8" [str [red-string!] len [pointer! [integer!]] return: [c-string!]] load-utf8-buffer: "red/unicode/load-utf8-buffer" [src [c-string!] size [integer!] dst [series-buffer!] remain [pointer! [integer!]] convert? [logic!] return: [pointer! [integer!]]] load-utf8-stream: "red/unicode/load-utf8-stream" [src [c-string!] size [integer!] output [red-string!] remain [pointer! [integer!]] return: [pointer! [integer!]]] ]] ] natives: context [ #import [libRedRT-file stdcall [ repeat-init*: "red/natives/repeat-init*" [cell [cell!] return: [integer!]] repeat-set: "red/natives/repeat-set" [cell [cell!] value [integer!]] remove-each-init: "red/natives/remove-each-init" [] remove-each-next: "red/natives/remove-each-next" [size [integer!]] foreach-next-block: "red/natives/foreach-next-block" [size [integer!] return: [logic!]] foreach-next: "red/natives/foreach-next" [return: [logic!]] forall-loop: "red/natives/forall-loop" [return: [logic!]] forall-next: "red/natives/forall-next" [] forall-end: "red/natives/forall-end" [] forall-end-adjust: "red/natives/forall-end-adjust" [] coerce-counter*: "red/natives/coerce-counter*" [] if*: "red/natives/if*" [check? [logic!]] unless*: "red/natives/unless*" [check? [logic!]] either*: "red/natives/either*" [check? [logic!]] any*: "red/natives/any*" [check? [logic!]] all*: "red/natives/all*" [check? [logic!]] while*: "red/natives/while*" [check? [logic!]] until*: "red/natives/until*" [check? [logic!]] loop*: "red/natives/loop*" [[catch] check? [logic!]] repeat*: "red/natives/repeat*" [check? [logic!]] forever*: "red/natives/forever*" [check? [logic!]] foreach*: "red/natives/foreach*" [check? [logic!]] forall*: "red/natives/forall*" [check? [logic!]] func*: "red/natives/func*" [check? [logic!]] function*: "red/natives/function*" [check? [logic!]] does*: "red/natives/does*" [check? [logic!]] has*: "red/natives/has*" [check? [logic!]] switch*: "red/natives/switch*" [check? [logic!] default? [integer!]] case*: "red/natives/case*" [check? [logic!] all? [integer!]] do*: "red/natives/do*" [check? [logic!] expand? [integer!] args [integer!] next [integer!] return: [integer!]] get*: "red/natives/get*" [check? [logic!] any? [integer!] case? [integer!]] set*: "red/natives/set*" [check? [logic!] _any? [integer!] case? [integer!] _only? [integer!] _some? [integer!]] print*: "red/natives/print*" [check? [logic!]] prin*: "red/natives/prin*" [check? [logic!]] equal?*: "red/natives/equal?*" [check? [logic!] return: [red-logic!]] not-equal?*: "red/natives/not-equal?*" [check? [logic!] return: [red-logic!]] strict-equal?*: "red/natives/strict-equal?*" [check? [logic!] return: [red-logic!]] lesser?*: "red/natives/lesser?*" [check? [logic!] return: [red-logic!]] greater?*: "red/natives/greater?*" [check? [logic!] return: [red-logic!]] lesser-or-equal?*: "red/natives/lesser-or-equal?*" [check? [logic!] return: [red-logic!]] greater-or-equal?*: "red/natives/greater-or-equal?*" [check? [logic!] return: [red-logic!]] same?*: "red/natives/same?*" [check? [logic!] return: [red-logic!]] not*: "red/natives/not*" [check? [logic!]] type?*: "red/natives/type?*" [check? [logic!] word? [integer!] return: [cell!]] reduce*: "red/natives/reduce*" [check? [logic!] into [integer!]] compose*: "red/natives/compose*" [check? [logic!] deep [integer!] only [integer!] into [integer!]] stats*: "red/natives/stats*" [check? [logic!] show [integer!] info [integer!]] bind*: "red/natives/bind*" [check? [logic!] copy [integer!]] in*: "red/natives/in*" [check? [logic!]] parse*: "red/natives/parse*" [check? [logic!] case? [integer!] part [integer!] trace [integer!] return: [integer!]] union*: "red/natives/union*" [check? [logic!] cased [integer!] skip [integer!]] intersect*: "red/natives/intersect*" [check? [logic!] cased [integer!] skip [integer!]] unique*: "red/natives/unique*" [check? [logic!] cased [integer!] skip [integer!]] difference*: "red/natives/difference*" [check? [logic!] cased [integer!] skip [integer!]] exclude*: "red/natives/exclude*" [check? [logic!] cased [integer!] skip [integer!]] complement?*: "red/natives/complement?*" [check? [logic!] return: [red-logic!]] dehex*: "red/natives/dehex*" [check? [logic!] return: [red-string!]] enhex*: "red/natives/enhex*" [check? [logic!] return: [red-string!]] negative?*: "red/natives/negative?*" [check? [logic!] return: [red-logic!]] positive?*: "red/natives/positive?*" [check? [logic!] return: [red-logic!]] max*: "red/natives/max*" [check? [logic!]] min*: "red/natives/min*" [check? [logic!]] shift*: "red/natives/shift*" [check? [logic!] left [integer!] logical [integer!]] to-hex*: "red/natives/to-hex*" [check? [logic!] size [integer!]] sine*: "red/natives/sine*" [check? [logic!] radians [integer!]] cosine*: "red/natives/cosine*" [check? [logic!] radians [integer!]] tangent*: "red/natives/tangent*" [check? [logic!] radians [integer!]] arcsine*: "red/natives/arcsine*" [check? [logic!] radians [integer!]] arccosine*: "red/natives/arccosine*" [check? [logic!] radians [integer!]] arctangent*: "red/natives/arctangent*" [check? [logic!] radians [integer!]] arctangent2*: "red/natives/arctangent2*" [check? [logic!] radians [integer!]] NaN?*: "red/natives/NaN?*" [check? [logic!] return: [red-logic!]] log-2*: "red/natives/log-2*" [check? [logic!]] log-10*: "red/natives/log-10*" [check? [logic!]] log-e*: "red/natives/log-e*" [check? [logic!]] exp*: "red/natives/exp*" [check? [logic!]] square-root*: "red/natives/square-root*" [check? [logic!]] construct*: "red/natives/construct*" [check? [logic!] _with [integer!] only [integer!]] value?*: "red/natives/value?*" [check? [logic!]] try*: "red/natives/try*" [check? [logic!] _all [integer!] return: [integer!]] uppercase*: "red/natives/uppercase*" [check? [logic!] part [integer!]] lowercase*: "red/natives/lowercase*" [check? [logic!] part [integer!]] as-pair*: "red/natives/as-pair*" [check? [logic!]] break*: "red/natives/break*" [check? [logic!] returned [integer!]] continue*: "red/natives/continue*" [check? [logic!]] exit*: "red/natives/exit*" [check? [logic!]] return*: "red/natives/return*" [check? [logic!]] throw*: "red/natives/throw*" [check? [logic!] name [integer!]] catch*: "red/natives/catch*" [check? [logic!] name [integer!]] extend*: "red/natives/extend*" [check? [logic!] case? [integer!]] debase*: "red/natives/debase*" [check? [logic!] base-arg [integer!]] to-local-file*: "red/natives/to-local-file*" [check? [logic!] full? [integer!]] wait*: "red/natives/wait*" [check? [logic!] all? [integer!]] checksum*: "red/natives/checksum*" [check? [logic!] _with [integer!]] unset*: "red/natives/unset*" [check? [logic!]] new-line*: "red/natives/new-line*" [check? [logic!] _all [integer!] skip [integer!]] new-line?*: "red/natives/new-line?*" [check? [logic!]] enbase*: "red/natives/enbase*" [check? [logic!] base-arg [integer!]] handle-thrown-error: "red/natives/handle-thrown-error" [] now*: "red/natives/now*" [check? [logic!] year [integer!] month [integer!] day [integer!] time [integer!] zone [integer!] _date [integer!] weekday [integer!] yearday [integer!] precise [integer!] utc [integer!]] get-env*: "red/natives/get-env*" [check? [logic!]] set-env*: "red/natives/set-env*" [check? [logic!]] list-env*: "red/natives/list-env*" [check? [logic!]] sign?*: "red/natives/sign?*" [check? [logic!] return: [red-integer!]] as*: "red/natives/as*" [check? [logic!]] call*: "red/natives/call*" [check? [logic!] wait [integer!] show [integer!] console [integer!] shell [integer!] input [integer!] output [integer!] error [integer!] return: [red-integer!]] zero?*: "red/natives/zero?*" [check? [logic!] return: [red-logic!]] size?*: "red/natives/size?*" [check? [logic!]] browse*: "red/natives/browse*" [check? [logic!]] context?*: "red/natives/context?*" [check? [logic!]] compress*: "red/natives/compress*" [check? [logic!] zlib [integer!] _deflate [integer!]] decompress*: "red/natives/decompress*" [check? [logic!] zlib [integer!] _deflate [integer!]] recycle*: "red/natives/recycle*" [check? [logic!] on? [integer!] off? [integer!]] transcode*: "red/natives/transcode*" [check? [logic!] next [integer!] one [integer!] prescan [integer!] scan [integer!] part [integer!] into [integer!] trace [integer!]] as-money*: "red/natives/as-money*" [check? [logic!]] buffer-blk: "red/natives/buffer-blk" [red-block!] ]] ] actions: context [ #import [libRedRT-file stdcall [ make*: "red/actions/make*" [return: [cell!]] random*: "red/actions/random*" [seed [integer!] secure [integer!] only [integer!] return: [cell!]] reflect*: "red/actions/reflect*" [return: [red-block!]] to*: "red/actions/to*" [return: [cell!]] form*: "red/actions/form*" [part [integer!]] mold*: "red/actions/mold*" [only [integer!] _all [integer!] flat [integer!] part [integer!]] eval-path*: "red/actions/eval-path*" [set? [logic!] return: [cell!]] compare: "red/actions/compare" [value1 [cell!] value2 [cell!] op [comparison-op!] return: [logic!]] absolute*: "red/actions/absolute*" [return: [cell!]] add*: "red/actions/add*" [return: [cell!]] divide*: "red/actions/divide*" [return: [cell!]] multiply*: "red/actions/multiply*" [return: [cell!]] negate*: "red/actions/negate*" [return: [cell!]] power*: "red/actions/power*" [return: [cell!]] remainder*: "red/actions/remainder*" [return: [cell!]] round*: "red/actions/round*" [_to [integer!] even [integer!] down [integer!] half-down [integer!] floor [integer!] ceil [integer!] half-ceil [integer!]] subtract*: "red/actions/subtract*" [return: [cell!]] even?*: "red/actions/even?*" [return: [red-logic!]] odd?*: "red/actions/odd?*" [return: [red-logic!]] and~*: "red/actions/and~*" [return: [cell!]] complement*: "red/actions/complement*" [] or~*: "red/actions/or~*" [return: [cell!]] xor~*: "red/actions/xor~*" [return: [cell!]] append*: "red/actions/append*" [part [integer!] only [integer!] dup [integer!]] at*: "red/actions/at*" [return: [cell!]] back*: "red/actions/back*" [return: [cell!]] change*: "red/actions/change*" [part [integer!] only [integer!] dup [integer!] return: [red-series!]] clear*: "red/actions/clear*" [return: [cell!]] copy*: "red/actions/copy*" [part [integer!] deep [integer!] types [integer!] return: [cell!]] find*: "red/actions/find*" [part [integer!] only [integer!] case-arg [integer!] same-arg [integer!] any-arg [integer!] with-arg [integer!] skip [integer!] last [integer!] reverse [integer!] tail [integer!] match [integer!]] head*: "red/actions/head*" [return: [cell!]] head?*: "red/actions/head?*" [return: [cell!]] index?*: "red/actions/index?*" [return: [cell!]] insert*: "red/actions/insert*" [part [integer!] only [integer!] dup [integer!]] move*: "red/actions/move*" [part [integer!] return: [cell!]] length?*: "red/actions/length?*" [return: [red-integer!]] next*: "red/actions/next*" [return: [cell!]] pick*: "red/actions/pick*" [return: [cell!]] poke*: "red/actions/poke*" [return: [cell!]] put*: "red/actions/put*" [case? [integer!]] remove*: "red/actions/remove*" [part [integer!] key [integer!]] reverse*: "red/actions/reverse*" [part [integer!] skip [integer!]] select*: "red/actions/select*" [part [integer!] only [integer!] case-arg [integer!] same-arg [integer!] any-arg [integer!] with-arg [integer!] skip [integer!] last [integer!] reverse [integer!]] sort*: "red/actions/sort*" [case-arg [integer!] skip-arg [integer!] compare [integer!] part [integer!] all-arg [integer!] reverse [integer!] stable [integer!]] skip*: "red/actions/skip*" [return: [cell!]] swap*: "red/actions/swap*" [return: [red-series!]] tail*: "red/actions/tail*" [return: [cell!]] tail?*: "red/actions/tail?*" [return: [cell!]] take*: "red/actions/take*" [part [integer!] deep [integer!] last [integer!] return: [cell!]] trim*: "red/actions/trim*" [head [integer!] tail [integer!] auto [integer!] lines [integer!] _all [integer!] with-arg [integer!] return: [red-series!]] create*: "red/actions/create*" [return: [cell!]] close*: "red/actions/close*" [return: [cell!]] delete*: "red/actions/delete*" [return: [cell!]] modify*: "red/actions/modify*" [case? [integer!] return: [cell!]] open*: "red/actions/open*" [new [integer!] read [integer!] write [integer!] seek [integer!] allow [integer!]] query*: "red/actions/query*" [] read*: "red/actions/read*" [part [integer!] seek [integer!] binary? [integer!] lines? [integer!] info? [integer!] as-arg [integer!] return: [cell!]] rename*: "red/actions/rename*" [return: [cell!]] update*: "red/actions/update*" [return: [cell!]] write*: "red/actions/write*" [binary? [integer!] lines? [integer!] info? [integer!] append? [integer!] part [integer!] seek [integer!] allow [integer!] as-arg [integer!] return: [cell!]] ]] ] ownership: context [ #import [libRedRT-file stdcall [ bind: "red/ownership/bind" [container [cell!] owner [red-object!] word [red-word!]] check: "red/ownership/check" [value [cell!] action [red-word!] new [cell!] index [integer!] part [integer!] return: [logic!]] ]] ] image: context [ #import [libRedRT-file stdcall [ init-image: "red/image/init-image" [img [red-image!] handle [pointer! [integer!]] return: [red-image!]] push: "red/image/push" [img [red-image!]] acquire-buffer: "red/image/acquire-buffer" [img [red-image!] bitmap [pointer! [integer!]] return: [pointer! [integer!]]] release-buffer: "red/image/release-buffer" [img [red-image!] bitmap [integer!] modified? [logic!]] ]] ] OS-image: context [ #import [libRedRT-file stdcall [ lock-bitmap: "red/OS-image/lock-bitmap" [img [red-image!] write? [logic!] return: [integer!]] get-data: "red/OS-image/get-data" [handle [integer!] stride [pointer! [integer!]] return: [pointer! [integer!]]] unlock-bitmap: "red/OS-image/unlock-bitmap" [img [red-image!] data [integer!]] ]] ] collector: context [ #import [libRedRT-file stdcall [ active?: "red/collector/active?" [logic!] ]] ] words: context [ red/boot?: yes _body: red/word/load "" _anon: red/word/load "" _remove: red/word/load "remove" _take: red/word/load "take" _clear: red/word/load "clear" _insert: red/word/load "insert" _poke: red/word/load "poke" _put: red/word/load "put" _moved: red/word/load "moved" _changed: red/word/load "changed" _reverse: red/word/load "reverse" _lowercase: red/word/load "lowercase" _uppercase: red/word/load "uppercase" type: red/symbol/make "type" face: red/symbol/make "face" window: red/symbol/make "window" offset: red/symbol/make "offset" key: red/symbol/make "key" picked: red/symbol/make "picked" flags: red/symbol/make "flags" away?: red/symbol/make "away?" down?: red/symbol/make "down?" mid-down?: red/symbol/make "mid-down?" alt-down?: red/symbol/make "alt-down?" aux-down?: red/symbol/make "aux-down?" ctrl?: red/symbol/make "ctrl?" shift?: red/symbol/make "shift?" red/boot?: no ] ]