[an error occurred while processing this directive]
+
-
*
div
(division)mod
sqrt
(square root)log
exp
trunc
(convert real to integer)float
(convert an integer to real)rand
(random number generator)int rand(int)
or real rand(real)
10
, rand(10)
returns
a random number ranged from 0
to 9
inclusive;
1.0
, rand(1.0)
returns a random
number ranged from 0.0
to 1.0
inclusive.
sin
cos
tan
asin
acos
atan
&&
(and)||
(or)!
(not)<
<=
==
(equal)>
>=
point midpoint(line)
point intersect(line, line)
line perpend(point, line)
real dist(point, point)
bool intersects(line, line)
bool separates(line, point, point)
bool includes(circle, point)
bool incident(line, point)
bool incident(circle, point)
bool pt_betwn_pts(point, point, point)
bool colinear(point, point, point)
bool distlarger(point, point, value)
bool distlarger(line, point, value)
bool distsmaller(point, point, value)
bool distsmaller(line, point, value)
trans(shape, x, y)
scale(shape, ratio)
rot(shape, point, angle)
//
itos(int)
rtos(real, format-string)
%donald real xscale, yscale xscale, yscale = 0.8, 0.8 image zoom, source source = I!ImageScale(I!ImageFile("gif", "logo.gif"), xscale, yscale) zoom = I!ImageScale(I!ImageCut(source, 20, 0, 200 * xscale, 200 * yscale), xscale, yscale) label imgzoom, imgsrc imgzoom = label(zoom, {500, 200}) imgsrc = label(source, {500, 700})The images are centred at the specified position (same for string labels). I!functionName denotes a function returning an image. This function is translated to an Eden function named as functionName. The arguments are not fully type-checked, so may sometimes cause a problem. Since this kind of function does not need to be declared beforehand, DoNaLD can easily be extended to make use of image filters chosen by the user. (See examples in $PUBLIC/lib/tkeden/scout.init.e for examples of image filters.)
circle(center, radius)
ellipse(center, extreme_point1, extreme_point2)
rectangle(corner1, corner2)
label(string, position)
if
boolean_expression then
expr else
expr.1, .2
line l l = [{0,0}, {100,100}] point p p = l.2 # i.e. {100,100} real x x = p.1 # i.e. 100
point p, q p = {100, 200} q = p.x # i.e. {100, 0}