Geany EDC: full edc support

Highlight, autocomplete (snippets) and help tooltip for the whole edc syntax
This commit is contained in:
Davide Andreoli 2014-08-08 21:51:11 +02:00
parent 8e9b6d96be
commit 00874b2403
4 changed files with 678 additions and 9 deletions

View File

@ -1,6 +1,7 @@
#
# Edje (edc) filetype definition for Geany.
#
# This file enable hilight of edc blocks and properties
#
# Usage:
#
@ -15,17 +16,14 @@
[styling=C]
[keywords]
# primary will draw in blu and have precedence on secondary
# primary will draw in BLU (with default colors) and have precedence on secondary
# used for edc properties, like "name:" or "state:"
primary=item font tag base external name type state min max normal color color2 color3 clip_to signal source action transition target scale align relative offset inherit to border aspect aspect_preference align effect size mouse_events repeat_events ellipsis fixed layout padding visible to_x to_y middle smooth x y confine alias color_class border_scale_by border_scale after entry_mode select_mode multiline source source2 source3 source4 source5 source6 text_class text_source ignore_flags cursor_mode in
primary=item file font tag image base_scale tone inherit_only broadcast_signal target_groups script_only script_recursion base external name type state min max normal color color2 color3 clip_to signal source action transition target scale align relative offset inherit to border aspect aspect_preference align effect size mouse_events repeat_events ellipsis fixed layout padding visible to_x to_y middle smooth x y confine alias color_class border_scale_by border_scale after entry_mode select_mode multiline source source2 source3 source4 source5 source6 text_class text_source ignore_flags cursor_mode in orientation program_source vertical horizontal program_remove part_remove physics_body insert_before insert_after pointer_mode precise_is_inside use_alternate_font_metrics access events threshold spread prefer weight position span limit minmul step tween scale_hint origin repch size_range fit filter homogeneous backface_cull depth z light_on hardness density material sleep damping ignore_part_pos friction restitution mass linear angular center alpha perspective_on on light perspective center zplane focal int double string bool choice gravity rate
# secondary will draw in red (with default colors)
# secondary will draw in RED (with default colors)
# used for edc blocks, like "parts{}" or "part{}"
secondary=data images image fonts styles style externals collections group script parts part description programs program rel1 rel2 box text fill dragable
secondary=data images set fonts styles style sounds sample vibrations externals collections group script parts part description programs program rel1 rel2 box text fill dragable limits items table physics movement_freedom faces face map rotation params link world
# these are the Doxygen keywords
# docComment=addtogroup
[lexer_properties]
styling.within.preprocessor=1

View File

@ -11,11 +11,228 @@
# NOTE: default snippets file (with docs) at: /usr/share/geany/snippets.conf
#
[Edje]
# blocks
collections=collections {\n\t%cursor% \n}
group=group { name: "%cursor%";\n\tparts {\n\t}\n}
part=part { name: "%cursor%";\n\ttype: RECT;\n\tdescription { state: "default" 0.0;\n\t}\n}
desc=description { state: "default" 0.0;\n\t%cursor%\n}
parts=parts {\n\t%cursor% \n}
rel1=rel1 {\n\tto: "%cursor%";\n\trelative: 0.0 0.0;\n\toffset: 0 0;\n}
rel2=rel2 {\n\tto: "%cursor%";\n\trelative: 1.0 1.0;\n\toffset: -1 -1;\n}
fill=fill {\n\tsmooth: 1;\n\ttype: TILE;\n\torigin {\n\t\trelative: %cursor%0.0 0.0;\n\t\toffset: 0 0;\n\t}\n\tsize {\n\t\trelative: 1.0 1.0;\n\t\toffset: -1 -1;\n\t}\n}
origin=origin {\n\trelative: 0.0 0.0;\n\toffset: 0 0;\n}
text=text {\n\ttext: "";\n\tfont: "%cursor%";\n\tsize: 12;\n\ttext_class: "";\n\tmin: 1 0;\n\tellipsis: -1;\n}
script=script {\n\t%cursor%\n}
# parts
part=part { name: "%cursor%";\n\ttype: RECT;\n\tdescription { state: "default" 0.0;\n\t\t\n\t}\n}
RECT=part { name: "%cursor%";\n\ttype: RECT;\n\tdescription { state: "default" 0.0;\n\t}\n}
IMAGE=part { name: "%cursor%";\n\tdescription { state: "default" 0.0;\n\t\timage {\n\t\t\tnormal: "";\n\t\t\tborder: left right top bottom;\n\t\t}\n\t}\n}
# colors
color_class=color_class {\n\tname: "%cursor%";\n\tcolor: 200 200 200 255;\n\tcolor2: 200 200 200 255;\n\tcolor3: 200 200 200 255; \n}
# text styles
styles=styles {\n\t%cursor%\n}
style=style {\n\tname: "%cursor%";\n\tbase: "font=Sans font_size=12 color=#fff wrap=word";\n\ttag: "b" "+ font_weight=Bold";\n}
base=base: "font=%cursor%Sans font_size=12 color=#fff wrap=word";
tag=tag: "%cursor%b" "+ font_weight=Bold";
# externals
externals=externals {\n\texternal: "%cursor%";\n}
external=external: "%cursor%";
# sounds
sounds=sounds {\n\t%cursor%\n}
sample=sample {\n\tname: "%cursor%" COMP;\n\tsource: "sound_file.wav";\n}
tone=tone: "%cursor%" 440;
vibrations=vibrations {\n\t%cursor% \n}
# images
images=images {\n\timage: "%cursor%.png" COMP;\n}
image=image: "%cursor%.png" COMP;
border=border: %cursor%left right top bottom;
size=size: %cursor%minw minh maxw maxh;
border_scale_by=border_scale_by: %cursor%0.0;
set=set {\n\tname: "%cursor%";\n\timage {\n\t\timage: "filename1.png" LOSSY 90;\n\t\tsize: minw minh maxw maxh;\n\t}\n\timage {\n\t\timage: "filename2.png" LOSSY 90;\n\t\tsize: minw minh maxw maxh;\n\t}\n}
# fonts
fonts=fonts {\n\tfont: "%cursor%.otf" "FontAlias";\n}
font=font: "%cursor%.otf" "FontAlias";
# data
data=data {\n\titem: "%cursor%key" "value";\n\tfile: "key" "filename.ext"\n}
item=item: "%cursor%key" "value";
file=file: "%cursor%key" "filename.ext";
# collections
base_scale=base_scale: %cursor%1.0;
# group
inherit_only=inherit_only: %cursor%1;
target_group=target_group: "%cursor%" "%cursor%" "%cursor%";
script_only=script_only: %cursor%on;
script_recursion=script_recursion: %cursor%1;
alias=alias: "%cursor%";
min=min: %cursor%width height;
max=max: %cursor%width height;
broadcast_signal=broadcast_signal: on;
orientation=orientation: LTR;
program_source=program_source: "%cursor%";
# group.limits
limits=limits {\n\tvertical: "%cursor%" height_barrier;\n\thorizontal: "limit_name" width_barrier;\n}
vertical=vertical: "%cursor%" height_barrier;
horizontal=horizontal: "%cursor%" width_barrier;
# part
type=type: %cursor%RECT;
program_remove=program_remove: "%cursor%" "%cursor%" "%cursor%";
part_remove=part_remove: "%cursor%" "%cursor%" "%cursor%";
physics_body=%cursor%RIGID_BOX;
insert_before=insert_before: "%cursor%";
insert_after=insert_after: "%cursor%";
mouse_events=mouse_events: 0;\n
repeat_events=repeat_events: 0;\n
scale=scale: 1;\n
ignore_flags=ignore_flags: ON_HOLD;\n
pointer_mode=pointer_mode: NOGRAB;\n
precise_is_inside=precise_is_inside: 1;\n
use_alternate_font_metrics=use_alternate_font_metrics: 1;\n
clip_to=clip_to: "%cursor%";
source=source: "%cursor%";
source2=source2: "%cursor%";
source3=source3: "%cursor%";
source4=source4: "%cursor%";
source5=source5: "%cursor%";
source6=source6: "%cursor%";
effect=effect: %cursor%SHADOW;
entry_mode=entry_mode: %cursor%EDITABLE;
select_mode=select_mode: %cursor%EXPLICIT;
cursor_mode=cursor_mode: %cursor%BEFORE;
multiline=multiline: 0;\n
access=access: 1;\n
name=name: "%cursor%";
color=color: 200 200 200 255;
color2=color2: 200 200 200 255;
color3=color3: 200 200 200 255;
# description
description=description { state: "%cursor%" 0.0;\n\t\n}
desc=description { state: "%cursor%" 0.0;\n\t\n}
inherit=inherit: "%cursor%default" 0.0;
state=state: "%cursor%" 0.0;
visible=visible: 0;\n
limit=limit: %cursor%;
align=align: %cursor%0.0 0.0;
fixed=fixed: 1 1;\n
minmul=minmul: %cursor%1.0 1.0;
step=step: %cursor%0 0;
aspect=aspect: %cursor%vmin vmax;\naspect_preference: BOTH;
aspect_preference=aspect_preference: BOTH;\n
offset=offset: %cursor%0 0;
to=to: "%cursor%";
to_x=to_x: "%cursor%";
to_y=to_y: "%cursor%";
normal=normal: "%cursor%.png" COMP;
tween=tween: "%cursor% .png";
middle=middle: NONE;\n
border_scale=border_scale: 1;\n
scale_hint=scale_hint: %cursor%STATIC;
ellipsis=ellipsis: -1;
repch=repch: "%cursor%*";
size_range=size_range: 1.2 1.2;
fit=fit: 1 0;
text_source=text_source: "%cursor%";
filter=filter: "%cursor%";
# dragable
dragable=dragable {\n\tconfine: "%cursor%";\n\tevents: "another dragable part";\n\tx: 0 0 0;\n\ty: 0 0 0;\n}
x=x: 1 0 0;\n
y=y: 1 0 0;\n
confine=confine: "%cursor%";
threshold=threshold: "%cursor%";
events=events: "%cursor%";
relative=relative: %cursor%0.0 0.0;
# box/table
box=box {\n\tlayout: "%cursor%vertical";\n\tpadding: 0 2;\n\talign: 0.5 0.5;\n\tmin: 0 0;\n\titems {\n\t\titem {\n\t\t\ttype: GROUP;\n\t\t\tsource: "";\n\t\t}\n\t}\n}
table=table {\n\thomogeneous: TABLE;\n\tpadding: 0 2;\n\talign: 0.5 0.5;\n\tmin: 0 0;\n\titems {\n\t\t%cursor%\n\t}\n}
layout=layout: "%cursor%";
homogeneous=homogeneous: %cursor%TABLE;
padding=padding: %cursor%0 0;
# box/table items
spread=spread: %cursor%width height;
prefer=prefer: %cursor%width height;
# padding=padding: %cursor%left right top bottom; (collide)
position=position: %cursor%col row;
span=span: %cursor%col row;
weight=weight: %cursor%x_val y_val;
# map
center=center: "%cursor%";
alpha=alpha: 1;
perspective_on=perspective_on: 1;
smooth=smooth: 1;
on=on: 1;
light=light: "%cursor%";
perspective=perspective: "%cursor%";
center=center: "%cursor%";
backface_cull=backface_cull: 1;
perspective=perspective {\n\tzplane: 0;\n\tfocal: 1000;\n}
zplane=zplane: %cursor%;
focal=focal: %cursor%;
# physics (obj)
physics=physics {\n\tignore_part_pos: 1;\n\tmass: %cursor%5.31;\n\tfriction: 0.5;\n\trestitution: 0.82;\n\tdamping: 0.4 0.24;\n\tsleep: 32 18.9;\n\tmaterial: IRON;\n\tdensity: 3.2;\n\thardness: 0.42;\n\tlight_on: 1;\n\tz: -15;\n\tdepth: 30;\n\tmovement_freedom { }\n\tfaces { }\n}
mass=mass: %cursor%;
restitution=restitution: %cursor%;
friction=friction: %cursor%;
ignore_part_pos=ignore_part_pos: %cursor%0;
damping=damping: %cursor%linear angular;
sleep=sleep: %cursor%linear angular;
material=material: %cursor%CONCRETE;
density=density: %cursor%;
hardness=hardness: %cursor%;
light_on=light_on: 1;
z=z: %cursor%;
depth=depth: %cursor%;
backface_cull=backface_cull: 1;
movement_freedom=movement_freedom {\n\tlinear: %cursor%1 1 0;\n\tangular: 0 0 1;\n}
linear=linear: %cursor%1 1 0;
angular=angular: %cursor%0 0 1;
faces=faces {\n\tface {\n\t\ttype: BOX_FRONT;\n\t\tsource: "%cursor%";\n\t}\n}
face=face {\n\ttype: BOX_FRONT;\n\tsource: "%cursor%";\n}
# physics (world)
world=world {\n\tgravity: 0 294 0;\n\trate: 30;\n\tz: -50;\n\tdepth: 100;\n}
gravity=gravity: %cursor%0 0 0;
rate=rate: %cursor%30;
depth=depth: %cursor%100;
#z=z: %cursor%-50; (collide)
# external params
params=params {\n\t%cursor%\n}
int=int: "%cursor%" 0;
double=double: "%cursor%" 0.0;
string=string: "%cursor%" "%cursor%";
bool=bool: "%cursor%" 1;
choice=choice: "%cursor%" "%cursor%";
# programs
link=link {\n\tbase: "edje,signal" "edje";\n\ttransition: LINEAR 0.2;\n\tin: 0.5 0.1;\n\tafter: "some_program";\n}
programs=programs {\n\tprogram { name: "%cursor%";\n\t\tsignal: "";\n\t\tsource: "";\n\t\taction: STATE_SET "default" 0.0;\n\t\ttransition: LINEAR 1.0;\n\t\ttarget: "";\n\t}\n}
program=program { name: "%cursor%";\n\tsignal: "";\n\tsource: "";\n\taction: STATE_SET "default" 0.0;\n\ttransition: LINEAR 1.0;\n\ttarget: "";\n}
prog=program { name: "%cursor%";\n\tsignal: "";\n\tsource: "";\n\taction: STATE_SET "default" 0.0;\n\ttransition: LINEAR 1.0;\n\ttarget: "";\n}
sequence=sequence {\n\t%cursor% \n}
signal=signal: "%cursor%";
source=source: "%cursor%";
filter=filter: "%cursor%" "%cursor%";
in=in: %cursor%1.0 0.0;
action=action: STATE_SET "%cursor%" 0.0;
transition=transition: LINEAR 1.0;
target=target: "%cursor%";
target_groups=target_groups: "%cursor%" "%cursor%";
after=after: "%cursor%";
api=api: "%cursor%" "%cursor%";

427
tags/edje.edc.tags Normal file
View File

@ -0,0 +1,427 @@
# format=pipe
#
# Edje EDC tags for autocomplate & help-tooltip for Geany
#
# Note: actually the properties help string only show when you type "("
# so you need to type "image(" to show the help
#
# Usage: copy this file to "~/.config/geany/tags/" folder (or just link it).
#
# Format:
# tag_name||: [param1] [param2]... |
# or:
# tag_name||disambiguation: [param1] [param2]... |
#
#
# Strangness:
# * "alias" help do not work
# * "limits" autocomp do not work
# * "params" autocomp do not work
# * "params.bool" help do not work
# * "map.center" autocomp do not work
# * "part.type" autocomp/help do not work
# * "item.position" autocomp/help do not work
# * "part.repeat_events" autocomp is strange
#
###############################################################################
########### BLOCKS ##########################################################
collections
###############################################################################
########### EXTERNALS #######################################################
externals
external||: "ext name"|
###############################################################################
########### fonts ###########################################################
fonts
font||fonts.font: "font file" "font alias"|
###############################################################################
########### DATA ############################################################
data
item||: "key" "value"|
file||: "key" "filename.ext"|
###############################################################################
########### COLLECTIONS #####################################################
base_scale||: [scale val]|
###############################################################################
########### images.image ####################################################
images
image||: [file name] [ RAW / COMP / LOSSY / LOSSY_ETC1 / LOSSY_ETC2 / USER ] (comp level)|
RAW
COMP
LOSSY
LOSSY_ETC1
LOSSY_ETC2
USER
border||: [left] [right] [top [bottom]|
border_scale_by||: [0.0 or bigger]
size||: [minw] [minh] [maxw] [maxh]|
###############################################################################
########### COLORS ##########################################################
color_class
color_classes
color||: [red] [green] [blue] [alpha]|
color2||: [red] [green] [blue] [alpha]|
color3||: [red] [green] [blue] [alpha]|
###############################################################################
########### TEXT STYLES #####################################################
styles
style
base||: [style properties string]|
tag||: [tag name] [style properties string]|
###############################################################################
########### SOUNDS ##########################################################
sounds
vibrations
sample
tone||: [tone name] [frequency]|
name||sounds.sample.name: [sample name] [compression type] (quality)
###############################################################################
########### GROUP ###########################################################
inherit||group.inherit: [parent group name]|
inherit_only||: [1 or 0]|
target_group||: [name] [part/program1] [part/program2] ...|
script_only||: [on/off]|
script_recursion||: [1/0]
alias||: [additional name]|
min||: [width] [height]|
max||: [width] [height]|
broadcast_signal||: [on/off]|
orientation||: [ AUTO / LTR / RTL ]|
AUTO
LTR
RTL
program_source||: [source name]|
###############################################################################
########### GROUP.LIMITS ####################################################
limits
vertical||: [name] [height barrier]|
horizontal||: [name] [width barrier]|
###############################################################################
########### PART ############################################################
parts
part
name||part.name: [part name]|
type||: [ RECT / TEXT / IMAGE / SWALLOW / TEXTBLOCK / GROUP / BOX / TABLE / EXTERNAL / PROXY / SPACER ]|
NONE
RECT
TEXT
IMAGE
SWALLOW
TEXTBLOCK
GROUP
BOX
TABLE
EXTERNAL
PROXY
SPACER
mouse_events||: [1 or 0]|
repeat_events||: [1 or 0]|
scale||: [1 or 0]|
inherit||part.inherit: [part name]|
pointer_mode||: [ AUTOGRAB / NOGRAB ]|
AUTOGRAB
NOGRAB
precise_is_inside||: [1 or 0]|
use_alternate_font_metrics||: [1 or 0]|
program_remove||: [program name] [program name] [program name] ...|
part_remove||: [part name] [part name] [part name] ...|
physics_body||: [ NONE / RIGID_BOX / RIGID_SPHERE / RIGID_CYLINDER / SOFT_BOX / SOFT_SPHERE / SOFT_CYLINDER / CLOTH / BOUNDARY_TOP / BOUNDARY_BOTTOM / BOUNDARY_RIGHT / BOUNDARY_LEFT / BOUNDARY_FRONT / BOUNDARY_BACK ]
NONE
RIGID_BOX
RIGID_SPHERE
RIGID_CYLINDER
SOFT_BOX
SOFT_SPHERE
SOFT_CYLINDER
CLOTH
BOUNDARY_TOP
BOUNDARY_BOTTOM
BOUNDARY_RIGHT
BOUNDARY_LEFT
BOUNDARY_FRONT
BOUNDARY_BACK
insert_before||: [another part's name]|
insert_after||: [another part's name]|
ignore_flags||: [FLAG] ... (flag can be NONE or ON_HOLD)|
NONE
ON_HOLD
clip_to||: [another part's name]|
source||: [another group's name]|
source2||: [another group's name]|
source3||: [another group's name]|
source4||: [another group's name]|
source5||: [another group's name]|
source6||: [another group's name]|
effect||: [ PLAIN / OUTLINE / SOFT_OUTLINE / SHADOW / SOFT_SHADOW / OUTLINE_SHADOW / OUTLINE_SOFT_SHADOW / FAR_SHADOW / FAR_SOFT_SHADOW / GLOW ] (DIRECTION)
NONE
PLAIN
OUTLINE
SOFT_OUTLINE
SHADOW
SOFT_SHADOW
OUTLINE_SHADOW
OUTLINE_SOFT_SHADOW
FAR_SHADOW
FAR_SOFT_SHADOW
GLOW
#part_effect (param2)
BOTTOM_RIGHT
BOTTOM
BOTTOM_LEFT
LEFT
TOP_LEFT
TOP
TOP_RIGHT
RIGHT
entry_mode||: [ NONE / PLAIN / EDITABLE / PASSWORD ]|ù
NONE
PLAIN
EDITABLE
PASSWORD
select_mode||: [ DEFAULT / EXPLICIT ]|
DEFAULT
EXPLICIT
cursor_mode||: [ UNDER / BEFORE ]|
UNDER
BEFORE
multiline||: [1 or 0]|
access||: [1 or 0]|
###############################################################################
########### DESCRIPTION #####################################################
description
inherit||description.inherit: [another desc name] [another desc index]|
state||: [name] [index]|
visible||: [0 or 1]|
limit||: [ NONE / WIDTH / HEIGHT / BOTH ]|
NONE
WIDTH
HEIGHT
BOTH
align||: [X axis] [Y axis]|
fixed||: [width] [height]|
color_class||description.color_class: [color class name]|
minmul||: [width multipler] [height multiplier]|
step||: step [width] [height]|
aspect||: [min] [max]|
aspect_preference||: [ NONE / BOTH / VERTICAL / HORIZONTAL / SOURCE ]|
NONE
VERTICAL
HORIZONTAL
BOTH
SOURCE
rel1
rel2
relative||: [X axis] [Y axis]|
offset||: [X axis] [Y axis]|
to||: [another part name]|
to_x||: [another part name]|
to_y||: [another part name]|
############# DESCRIPTION.IMAGE #############################################
normal||: [image filename]
tween||: [image filename]
border||image.border: [left] [right] [top] [bottom]|
middle||: [ NONE / DEFAULT / SOLID ]|
NONE
DEFAULT
SOLID
border_scale||: [ 1 / 0 ]|
border_scale_by||: [value]|
scale_hint||: [ 0 / NONE / DYNAMIC / STATIC ]|
NONE
DYNAMIC
STATIC
smooth||: [0 or 1]|
############# DESCRIPTION.TEXT ###############################################
text||text.text: [a string of text]|
font||text.font: [font alias]|
size||text.size: [font size in pt]|
size_range||: [font min size in points (pt)] [font max size in points (pt)]|
fit||: [horizontal] [vertical]|
min||text.min: [horizontal] [vertical]|
max||text.min: [horizontal] [vertical]|
align||text.align: [horizontal] [vertical]|
source||text.source: [another TEXT part's name]|
text_source||: [another TEXT part's name]|
ellipsis||: [point of balance]|
filter||: [filter program as a string]|
text_class||: [class name]|
color_class||part.color_class:
repch||: [the replacement character string]|
type||image.fill.type: [ SCALE / TILE ]
SCALE
TILE
###############################################################################
########### DRAGABLE ########################################################
dragable
x||: [enable/disable] [step] [count]|
y||: [enable/disable] [step] [count]|
confine||: [another part's name]|
threshold||: [another part's name]|
events||: [another dragable part's name]|
###############################################################################
########### BOX/TABLE #######################################################
layout||: [ horizontal / vertical / horizontal_homogeneous / vertical_homogeneou / horizontal_max / vertical_max / horizontal_flow / vertical_flow / stack / custom ]|
homogeneous||: [ NONE / TABLE / ITEM ]|
NONE
TABLE
ITEM
padding||box.pagging: [horizontal] [vertical]|
###############################################################################
########### BOX / TABLE ITEMS ###############################################
type||: [ GROUP ]|
GROUP
name||group.name: [name for the object]|
source||: [a group name]|
min||: [width] [height]|
max||: [width] [height]|
spread||: [width] [height]|
prefer||: [width] [height]|
padding||box.item.padding: [left] [right] [top] [bottom]|
align||box.item.align: [x] [y]
weight||: [x] [y]|
position||: [col] [row]|
span||: [col] [row]|
aspect||box.item.aspect: [w] [h]|
aspect_mode||: [NONE / NEITHER / HORIZONTAL / VERTICAL / BOTH ]|
NONE
NEITHER
HORIZONTAL
VERTICAL
BOTH
options||: [extra options]|
###############################################################################
########### PHYSICS #########################################################
physics
mass||: [body's mass in kilograms]|
restitution||: [body's restitution]|
friction||: [body's friction]|
ignore_part_pos||: [1 or 0]|
damping||: [linear damping] [angular damping]|
sleep||: [linear sleeping threshold] [angular sleeping threshold]|
material||: [ CUSTOM / CONCRETE / IRON / PLASTIC / POLYSTYRENE / RUBBER / WOOD ]|
CUSTOM
CONCRETE
IRON
PLASTIC
POLYSTYRENE
RUBBER
WOOD
density||: [body's material density]|
hardness||: [ 0.0 - 1.0 ]|
light_on||: [1 or 0]|
z||: [body position in z axis]|
depth||: [body's depth]|
backface_cull||: [1 or 0]|
movement_freedom
linear||: [x-axis (1/0)] [y-axis (1/0)] [z-axis (1/0)]
angular||: [x-axis (1/0)] [y-axis (1/0)] [z-axis (1/0)]
faces
face
type||physics.face.type: [ BOX_MIDDLE_FRONT / BOX_MIDDLE_BACK / BOX_FRONT / BOX_BACK / BOX_LEFT / BOX_RIGHT / BOX_TOP / BOX_BOTTOM / CLOTH_FRONT / CLOTH_BACK / CYLINDER_MIDDLE_FRONT / CYLINDER_MIDDLE_BACK / CYLINDER_FRONT / CYLINDER_BACK / CYLINDER_CURVED / SPHERE_FRONT / SPHERE_BACK ]|
BOX_MIDDLE_FRONT
BOX_MIDDLE_BACK
BOX_FRONT
BOX_BACK
BOX_LEFT
BOX_RIGHT
BOX_TOP
BOX_BOTTOM
CLOTH_FRONT
CLOTH_BACK
CYLINDER_MIDDLE_FRONT
CYLINDER_MIDDLE_BACK
CYLINDER_FRONT
CYLINDER_BACK
CYLINDER_CURVED
SPHERE_FRONT
SPHERE_BACK
###############################################################################
########### PHYSICS (WORLD) #################################################
gravity||: [x-axis] [y-axis] [z-axis]|
rate||: [rate pixels / meter]|
depth||: [depth in pixels]|
z||: [world's front border position]|
###############################################################################
########### MAP #############################################################
map
perspective||: [another part's name]|
light||: [another part's name]|
on||: [1 or 0]|
smooth||: [1 or 0]|
alpha||: [1 or 0]|
backface_cull||: [1 or 0]|
perspective_on||: [1 or 0]|
color||: [point] [red] [green] [blue] [alpha]|
rotation
center||: [another part's name]|
x||: [X degrees]|
y||: [Y degrees]|
z||: [Z degrees]|
zplane||: [unscaled Z value]|
focal||: [distance]|
###############################################################################
########### EXTENAL PARAMS ##################################################
params
int||: [param_name] [int_value]|
double||: [param_name] [double_value]|
string||: [param_name] [string_value]|
bool||: [param_name] [bool_value]|
choice||: [param_name] [choice_string]|
###############################################################################
########### PROGRAMS ########################################################
programs
program
name||program.name: [program name]|
signal||: [signal name]|
source||: [source name]|
filter||: [part] [state]|
in||: [from] [range]|
action||: [ STATE_SET / ACTION_STOP / SIGNAL_EMIT / ... ] (param1) (param2) (param3) (param4)|
STATE_SET
ACTION_STOP
SIGNAL_EMIT
DRAG_VAL_SET
DRAG_VAL_STEP
DRAG_VAL_PAGE
SCRIPT
FOCUS_SET
FOCUS_OBJECT
PARAM_COPY
PARAM_SET
PLAY_SAMPLE
PLAY_TONE
PHYSICS_IMPULSE
PHYSICS_TORQUE_IMPULSE
PHYSICS_FORCE
PHYSICS_TORQUE
PHYSICS_FORCES_CLEAR
PHYSICS_VEL_SET
PHYSICS_ANG_VEL_SET
PHYSICS_STOP
PHYSICS_ROT_SET
PLAY_VIBRATION
#### PLAY_SAMPLE channel
EFFECT
BACKGROUND
MUSIC
FOREGROUND
INTERFACE
INPUT
ALERT
transition||: [ LIN / SIN / SIN_FAC / ACCEL / DECEL / ACCEL_FAC / DECEL_FAC / DIVIS / BOUNCE / SPRING ] [length] (interp val 1) (interp val 2) (CURRENT)|
LINEAR
SINUSOIDAL
CUBIC_BEZIER
ACCELERATE
DECELERATE
ACCELERATE_FACTOR
DECELERATE_FACTOR
SINUSOIDAL_FACTOR
DIVISOR_INTERP
BOUNCE
SPRING
target||: [target part or program]|
target_groups||: [group] (group) (group)|
after||: [ another program ]|
api||: [name] [description]|

27
templates/files/main.edc Normal file
View File

@ -0,0 +1,27 @@
{fileheader}
data {
item: "name" "val";
}
images {
image: "example.png" COMP;
}
fonts {
font: "example.otf" "Example";
}
collections {
group { name: "main";
parts {
}
}
}