Skip to content

Instantly share code, notes, and snippets.

View dockimbel's full-sized avatar

Nenad Rakocevic dockimbel

View GitHub Profile
@dockimbel
dockimbel / draw-text-area.red
Created May 18, 2018 16:23
Mixes drawing with text in area widget
Red [
Note: "from: https://gitter.im/red/red/gui-branch?at=5afc55a05a1d895fae45588e"
]
view [
area 200x100 focus wrap
at 10x10 base 255.255.255.254 200x100 all-over
draw [line-width 20 pen 200.50.50.200]
on-down [repend face/draw ['line event/offset event/offset]]
on-over [if event/down? [change back tail face/draw event/offset]]
@dockimbel
dockimbel / int256.red
Last active April 11, 2018 23:20
256-bit unsigned integer library
Red [
Title: "256-bit unsigned integer library"
Author: "Nenad Rakocevic"
File: %int256.red
Tabs: 4
Rights: "Copyright (C) 2018 Red Foundation. All rights reserved."
License: {
Distributed under the Boost Software License, Version 1.0.
See https://github.com/red/red/blob/master/BSL-License.txt
}
@dockimbel
dockimbel / tiger.red
Last active April 3, 2018 12:36
SVG Tiger's vector data in Draw dialect
Red [
Purpose: "Tiger vector data in Draw dialect (from SVG)"
File: %tiger.red
Author: "Zamlox"
Tabs: 4
Rights: "Copyright (C) 2013-2017 Nenad Rakocevic. All rights reserved."
License: {
Distributed under the Boost Software License, Version 1.0.
See https://github.com/red/red/blob/master/BSL-License.txt
}
@dockimbel
dockimbel / eval2.red
Created April 3, 2018 10:12
Test script for Red/View Android backend
Red [
Title: "Red Android bridge demo"
Author: "Nenad Rakocevic"
File: %eval2.red
Config: [type: 'dll libRed?: no libRedRT?: yes export-ABI: 'cdecl]
Tabs: 4
Needs: 'View
Rights: "Copyright (C) 2013-2017 Nenad Rakocevic. All rights reserved."
License: {
Distributed under the Boost Software License, Version 1.0.
Red [
Purpose: "Implements a Pomodoro timer"
Note: "Original code from https://gitter.im/red/red/gui-branch?at=5ab95dae2b9dfdbc3a25636a"
]
Pomodoro: does [
context [
t: diff: b1: b2: end: none
view/no-wait [
title "Pomodoro"
@dockimbel
dockimbel / walk-files.red
Created March 21, 2018 08:41
Red source files header updater
Red []
dive: function [path action [block!] filter [block!]][
bind action 'path
if filter [bind filter 'path]
foreach file read path [
if dir? file [dive append copy path file action filter]
if any [not filter do filter][do action]
]
@dockimbel
dockimbel / persist-faces.red
Last active March 22, 2018 04:18
Save and reload a View face tree
Red [
Purpose: "Demo how to serialize/deserialize a face tree on disk"
]
mold-face: function [root [object!] return: [string!]][
foreach-face root [
face/parent: none face/state: none
if font: face/font [font/parent: none font/state: none]
if para: face/para [para/parent: none]
]
@dockimbel
dockimbel / parse-info.red
Last active October 24, 2017 08:46
Function to get stats about internal parse states usage for a given parsing job.
Red [
Title: "Parse Info"
Purpose: {
Provides some stats about internal parse states usage for a given parsing job.
Could be used as a way to compare efficiency of different parsing strategies.
}
Date: 06-Oct-2017
]
context [
@dockimbel
dockimbel / closure-by-value.red
Last active October 4, 2017 16:19
"Capture by value" closure generator
Red [
Purpose: {Implementation of a "capture-by-value" closure generator}
Date: 4-Oct-2017
]
collect-words: function [
spec [any-list!]
/deep
/set
/to-set
Red [
Note: "https://gitter.im/red/red?at=59d0e788f7299e8f539496d3"
]
time-it: func [block /count ct /local t baseline][
ct: any [ct 1]
t: now/time/precise
loop ct [do []]
baseline: now/time/precise - t
t: now/time/precise