From e32ee37ef4289cb5a06276ce1fa1c5fafc37c653 Mon Sep 17 00:00:00 2001 From: twanvl Date: Thu, 2 Aug 2007 18:01:39 +0000 Subject: [PATCH] More data type documentation git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@592 0fc631ac-6414-0410-93d0-97cfa31319b6 --- doc/type/alignment.txt | 2 +- doc/type/card.txt | 37 ++++++++++++++++ doc/type/control_point.txt | 24 +++++++++++ doc/type/export_template.txt | 0 doc/type/font.txt | 27 ++++++++++++ doc/type/game.txt | 2 +- doc/type/graph-type-bar.png | Bin 0 -> 1356 bytes doc/type/graph-type-pie.png | Bin 0 -> 4837 bytes doc/type/graph-type-scatter-pie.png | Bin 0 -> 5104 bytes doc/type/graph-type-scatter.png | Bin 0 -> 3865 bytes doc/type/graph-type-stack.png | Bin 0 -> 1784 bytes doc/type/graph_type.txt | 21 +++++++++ doc/type/include.txt | 0 doc/type/index.txt | 3 +- doc/type/insert_symbol_menu.txt | 44 +++++++++++++++++++ doc/type/installer.txt | 0 doc/type/locale.txt | 52 ++++++++++++++++++++++ doc/type/script.txt | 0 doc/type/scriptable.txt | 0 doc/type/set.txt | 3 +- doc/type/settings.txt | 0 doc/type/statistics_category.txt | 27 ++++++++++++ doc/type/statistics_dimension.txt | 46 ++++++++++++++++++++ doc/type/symbol.txt | 20 +++++++++ doc/type/symbol_combine.txt | 19 +++++++++ doc/type/symbol_filter.txt | 0 doc/type/symbol_font.txt | 58 +++++++++++++++++++++++++ doc/type/symbol_font_reference.txt | 26 +++++++++++ doc/type/symbol_font_symbol.txt | 30 +++++++++++++ doc/type/symbol_part.txt | 29 +++++++++++++ doc/type/symbol_variation.txt | 0 doc/type/tagged_string.txt | 64 ++++++++++++++++------------ doc/type/vector2d.txt | 15 +++++++ 33 files changed, 518 insertions(+), 31 deletions(-) create mode 100644 doc/type/card.txt create mode 100644 doc/type/control_point.txt create mode 100644 doc/type/export_template.txt create mode 100644 doc/type/font.txt create mode 100644 doc/type/graph-type-bar.png create mode 100644 doc/type/graph-type-pie.png create mode 100644 doc/type/graph-type-scatter-pie.png create mode 100644 doc/type/graph-type-scatter.png create mode 100644 doc/type/graph-type-stack.png create mode 100644 doc/type/graph_type.txt create mode 100644 doc/type/include.txt create mode 100644 doc/type/insert_symbol_menu.txt create mode 100644 doc/type/installer.txt create mode 100644 doc/type/locale.txt create mode 100644 doc/type/script.txt create mode 100644 doc/type/scriptable.txt create mode 100644 doc/type/settings.txt create mode 100644 doc/type/symbol.txt create mode 100644 doc/type/symbol_combine.txt create mode 100644 doc/type/symbol_filter.txt create mode 100644 doc/type/symbol_font.txt create mode 100644 doc/type/symbol_font_reference.txt create mode 100644 doc/type/symbol_font_symbol.txt create mode 100644 doc/type/symbol_part.txt create mode 100644 doc/type/symbol_variation.txt create mode 100644 doc/type/vector2d.txt diff --git a/doc/type/alignment.txt b/doc/type/alignment.txt index 52f68003..64e9a9da 100644 --- a/doc/type/alignment.txt +++ b/doc/type/alignment.txt @@ -19,7 +19,7 @@ The value is a combination of one or more flags, separated by spaces. | @justify@ Move characters apart or together to exactly fill the width of the box. | @justify-words@ Move words apart or together to exactly fill the width of the box. | @justify-overflow@ If the text becomes to long, move characters closer together. -| @stretch Stretch text, so it always fills the width of the box.
+| @stretch@ Stretch text, so it always fills the width of the box.
For images; stretch them, but preserve the aspect ratio. | @stretch-overflow@ Stretch (compress) the text when it becomes too long. diff --git a/doc/type/card.txt b/doc/type/card.txt new file mode 100644 index 00000000..c68b2649 --- /dev/null +++ b/doc/type/card.txt @@ -0,0 +1,37 @@ +Data type: card + +--Overview-- + +A '''card''' in a [[type:set]]. + +--Properties-- +! Property Type Default Description +| @stylesheet@ Name of a [[type:stylesheet]] ''none'' Use a different stylesheet for this card than the [[type:set]]'s default. +| @has styling@ [[type:boolean]] false This card has styling data different from the set's default. +| @styling data@ [[type:indexmap]] of [[type:value]]s false Styling data, based on the [[type:stylesheet]]'s @style fields@. +| @notes@ [[type:tagged string]] @""@ Notes for this card. +| @extra data@ [[type:map]] of [[type:indexmap]]s of [[type:value]]s + Data for the 'extra card fields' of the stylesheet.
+ This is first indexed by stylesheet name, then by field name. +| ''remaining keys'' [[type:indexmap]] of [[type:value]]s The remaining keys contain the data for the game's @card fields@.
+ So for example @card.some_field@ corresponds to the value of the card field @some field@. + +--Examples-- + +With the following game: +>card field: +> type: text +> name: title +>card field: +> type: color +> name: card color + +A card could look like: +>card: +> stylesheet: new +> has styling: false +> notes: This card is not finished yet! +> styling data: +> extra large cards: true +> title: My Card +> card color: rgb(0,128,255) diff --git a/doc/type/control_point.txt b/doc/type/control_point.txt new file mode 100644 index 00000000..4a81bf52 --- /dev/null +++ b/doc/type/control_point.txt @@ -0,0 +1,24 @@ +Data type: symbol control point + +--Overview-- + +A single [[http://en.wikipedia.org/wiki/Bezier_curve|Bézier curve]] control point in a [[type:symbol part|symbol shape]]. + +A control point is a point on the polygon. +It also optionally has two 'handles' corresponding to the boxes attached with dotted lines in the editor. + +The control points of a shape are circular, the point after the last point in the list is the first point. + +--Properties-- +! Property Type Default Description +| @position@ [[type:vector2d]] Position of the control point. +| @lock@ @free@, @direction@ or @size@ @"free"@ + Is this point 'locked', i.e. is the relation between the two handles fixed?
+ If @lock@ is @"direction"@ then the two handles must lie on a line.
+ If @lock@ is @"direction"@ then the two handles must lie exactly oppisite each other on the same distance from the point. +| @line after@ @line@ or @curve@ @"line"@ Is the segment between this control point and the next one in the list a straight line or a cubic Bézier curve? +| @handle before@ [[type:vector2d]] Position of the handle for the segment between this point and the previous one, relative to the point's @position@.
Only when that point's @line after == "curve"@. +| @handle after@ [[type:vector2d]] Position of the handle for the segment between this point and the next one, relative to the point's @position@.
Only when @line after == "curve"@. + +--Example-- +Look at a symbol file made with the program. diff --git a/doc/type/export_template.txt b/doc/type/export_template.txt new file mode 100644 index 00000000..e69de29b diff --git a/doc/type/font.txt b/doc/type/font.txt new file mode 100644 index 00000000..d1d49a43 --- /dev/null +++ b/doc/type/font.txt @@ -0,0 +1,27 @@ +Data type: font + +--Overview-- + +A reference to a normal [[type:font]] for drawing text. + +--Properties-- +! Property Type Default Description +| @name@ [[type:scriptable]] [[type:string]] ''required'' Name of the font as it appears in most text programs. +| @italic name@ [[type:scriptable]] [[type:string]] Optionally, a different font to use for italic text instead of the normal italic version of the font. +| @size@ [[type:scriptable]] [[type:double]] ''required'' Size of the font in points on a 96 DPI display. +| @scale down to@ [[type:double]] ∞ Minimum size in points to scale the size down to. +| @weight@ [[type:scriptable]] font weight @"normal"@ Weight of the font, one of @"normal"@ or @"bold"@. This can be changed locally by [[type:tagged string|tags]]. +| @style@ [[type:scriptable]] font style @"normal"@ Style of the font, one of @"normal"@ or @"italic"@. This can be changed locally by [[type:tagged string|tags]]. +| @underline@ [[type:scriptable]] [[type:boolean]] @false@ Should the font be underlined? +| @color@ [[type:scriptable]] [[type:color]] @rgb(0,0,0)@ What color should text be drawn in? +| @shadow color@ [[type:scriptable]] [[type:color]] @rgb(0,0,0)@ Color for a shadow below the text. +| @shadow displacement x@ [[type:double]] @0@ Relative position of the shadow in pixels. A shadow is only drawn if the displacement is nonzero. +| @shadow displacement y@ [[type:double]] @0@ ^^^ +| @separator color@ [[type:color]] @rgb(128,128,128)@ Color for @""@ tags inserted by the [[fun:combined_editor]] function. + +--Example-- +>font: +> name: Times new Roman +> size: 17 +> weight: bold +> color: rgb(0,0,0) diff --git a/doc/type/game.txt b/doc/type/game.txt index 4d4545dd..8baa6799 100644 --- a/doc/type/game.txt +++ b/doc/type/game.txt @@ -12,7 +12,7 @@ Games provide the ''description'', i.e. what kinds of things are on a card. --Package format-- A game is described in a [[file:package]] with the .mse-game file extension. -Such a package contains a data file called game that has the following properties. +Such a package contains a [[file:format|data file]] called game that has the following properties. --Properties-- ! Property Type Default Description diff --git a/doc/type/graph-type-bar.png b/doc/type/graph-type-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..649425d90f5fcc996e6be40e5299521082429075 GIT binary patch literal 1356 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 LNkvXXu0mjf#`QkM literal 0 HcmV?d00001 diff --git a/doc/type/graph-type-scatter-pie.png b/doc/type/graph-type-scatter-pie.png new file mode 100644 index 0000000000000000000000000000000000000000..27beadad5c889467fcf8e295e99bcff831cc2ae5 GIT binary patch literal 5104 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 by`%pDCpS92?>JIg00000NkvXXu0mjf8oX&0 literal 0 HcmV?d00001 diff --git a/doc/type/graph-type-stack.png b/doc/type/graph-type-stack.png new file mode 100644 index 0000000000000000000000000000000000000000..8aec8541ad528e6f9cec1a2ee692d1556fd3ffa1 GIT binary patch literal 1784 zcmVlo7005%F|6>1Q;DTagqJy2Cojzo;u{%3rqJm3=9nX{QSqq$8&RYHa0f<`}^VH;nmgEz`($RgM)p2eQ0QC z9v&Y3{r%+R-{0Te-QC>W+|$$3(9qD$ z&CR{Ny|c5kva+(EprD_hpO24^hK7c6a&ly3WKmI3JUl!qDk>%>CjS2Z_4W1e@bK;J z?d$97=;-L?=H}Vi+0@k3!NI}2yu7=+yRNRTo}QkOk&%#)kc^Csg@uKJf`Wm8fq#F0 zdU|?ycXw`XZfR+0W@ctxU0pstJ~uZvFfcGIEG!=%9~>MU7#JA(`uh0z`1JJj@$vER z@9*sF?AqGe*Vot5($dPx%E`&e!^6Y6y1KZyxVE;owY9ahw6w6Wu&=MLs;a7}sHml- zrK6*xqN1Xqp`n|bo0*xJmzS58mX?*3m6Vi}j*gCti;I4Ket39zb#--XYinw1YG-F> zVq#)pVPRiiUs_sPSXfwAR#rqrL_$JBKR-V@IyyNyIWsdeGBPqPEiEf6D=8@{B_$;z zBO@Ih9T^!J78Vv06B7{;5e*Fu`T6FMd`=jY(y;NITe*4Eb1(b3P( z&(6-y%*@Qo%ge~f$i~LT#l^+K!os<^xv{aat*x!BtgNf6tEZ=@nwpxElarE?l8TCo zhlhuRgoJ>AfP8#>d3kwsbaZfVaBpvKZEbCAY;0p=V_;xlTwGjRTU%LKSyxwARaI3_ zPftopN=QgZMMXtJLqj_|J2f>mF)=YOFE1h@A{rVR7Z(>46ci8;5DN|P4qDMkIOK9*+^%Sd^tgE+`Xijb7U;UG=mK!mP}5PCG3 zjOT0E5LY#1{0ja4wIN)QHijR!#4lBgP+T?{?+6bKC@n_wqhl2su1KdwK|Ru$ot{PP zc%~N^)Ws-3YzjnkMEzr{FJ&;Ca&0i7^JPp;{^$#(NH4CIqd8HC6S^dBB04J$Ce?@H z8|cqf^N}I<@*-_fl)eH5EIc`Bd9btnYu`B5yrDI#?;97-GzM`hr-(#;H@B?k4d%JL zed7}8oY&eCs~+0(yQWbEHL1USxxV=R(l7TYF3<6L_J_b{ak+Uo9MmHe&JSg$`Q-e@9dELOPox2CK8Ec@X?h*T5{G=i%&wLyyplD1!{U{W zOn3+*3NU$&`p8xkb)}~)1)Ikr8%IWkahN20@Y=Pqq#Y4& zTJ7uq1Wc5aJb)P)mgCvfb88$-9)Q%duPv|1_HlT^YcKhNG9fiD+xRPVTN+NyE6HSr zgVC(Krr$f`2r^m%v{Mu#K z*Xyr+&nDeN!Q+tj05#8E|605juf-$jxljv%=L-lv&oD5pVcK&T1#f1=r5(z+(l$mPRR1)&M7Me}lCqPUz$e$vv2dLsr{4~&oxD)cyZVMq?42kM- z>P+Bz^!a}WgoQGnlk&j-xT>-WApPBJU_3C?E*LE&=nZ+MaL-x?kh6J(u+9TnW!$WSdr2D7W`ppA9}+bh&< aaoz*slL2EEyO3-E0000 + One bar for each value on the axis, the height represent the number of cards with that value. +| @pie@ 1 pie graph + A pie graph, the size of the slice represents the numer of cards with a particular value. +| @stack@ 2 stack graph + One bar for each value on the first axis, bars for each value on axis2 are stacked on top of each other. +| @scatter@ 2 scatter graph + Scatter plot, the size of the circles corresponds to the number of cards with those two values. +| @scatter pie@ 3 scatter-pie graph + Scatter plot, the size of the circles corresponds to the number of cards with those two values. + Each circle is a small pie graph for the third axis. + +--Examples-- +> type: bar diff --git a/doc/type/include.txt b/doc/type/include.txt new file mode 100644 index 00000000..e69de29b diff --git a/doc/type/index.txt b/doc/type/index.txt index 88e8584d..b09ca989 100644 --- a/doc/type/index.txt +++ b/doc/type/index.txt @@ -6,7 +6,7 @@ There are for instance [[type:card]]s in [[type:set]]s, [[type:stylesheet]]s des --File types-- These are the 'major' data types that are written directly to [[file:package]]s. | [[type:Game]] What information is on each card? -| [[type:Stylesheets]] What do cards look like? +| [[type:Stylesheet]] What do cards look like? | [[type:Set]] Sets of cards. | [[type:Symbol font]] Fonts consisting of symbols, for instance mana symbols. | [[type:Export template]] How to export sets to HTML files? @@ -51,6 +51,7 @@ These contain several properties, similair to the file types. But they are part | [[type:alignment]] Alignment of text and images | [[type:direction]] Direction of text | [[type:combine]] How to combine images with the background +| [[type:symbol combine]] How to combine [[type:symbol part|symbol shapes]] with the background --Primitive types-- | [[type:string]] Text, @"abc"@ diff --git a/doc/type/insert_symbol_menu.txt b/doc/type/insert_symbol_menu.txt new file mode 100644 index 00000000..bca4bebf --- /dev/null +++ b/doc/type/insert_symbol_menu.txt @@ -0,0 +1,44 @@ +Data type: "insert symbol" menu. + +--Overview-- + +A description of the "Insert symbol" menu for a specific [[type:symbol font]]. + +The menu consists of a number of entries, either items, separators or submenus. + +--Properties-- +! Property Type Default Description +| @type@ One of: @"code"@ or @"submenu"@ What type of menu item is this? + * @code@, inserts a symbol with the given code. + * @custom@, pops up a dialog where the user can choose a code to insert. + * @line@, a separating line. + * @submenu@, a submenu. +| @name@ [[type:string]] ''required'' Name of this menu item, corresponding to the code to insert. +| @items@ [[type:list]] of [[type:insert symbol menu|submenu items]] Items in the submenu, when items are present the @type@ is set to @"submenu"@. + +In the user interface the items are shown as @"menu item {name}"@, the [[type:locale]] should be used to give a beter label. + +For custom items the dialog will be titled @"title {name}"@ and have message text @"message {name}"@, again this should be changed in the locale. + +--Examples-- +A menu for magic mana symbols (simplified). Containing all types of items. +>insert symbol menu: +> item: +> type: custom +> name: colorless +> item: +> type: line +> item: W +> item: U +> item: B +> item: R +> item: G +> item: +> type: line +> item: +> name: hybrid +> item: W/U +> item: U/B +> item: B/R +> item: R/G +> item: G/W diff --git a/doc/type/installer.txt b/doc/type/installer.txt new file mode 100644 index 00000000..e69de29b diff --git a/doc/type/locale.txt b/doc/type/locale.txt new file mode 100644 index 00000000..c82f0802 --- /dev/null +++ b/doc/type/locale.txt @@ -0,0 +1,52 @@ +File type: Locale + +--Overview-- + +A locale gives a translation of the user interface of the program. + +--Package format-- + +A locale is described in a [[file:package]] with the .mse-locale file extension. +Such a package contains a data file called locale that has the following properties. +There are usually no other files in the package. + +--Properties-- +! Property Type Default Description +| '''Common to all packages''' <<< <<< <<< +| @mse version@ [[type:version]] ''required'' Version of MSE this locale is made for. +| @short name@ [[type:string]] file name A short name of this locale, for the options dialog. +| @full name@ [[type:string]] file name A longer name of this locale. +| @icon@ [[type:filename]] ''none'' Filename of an icon / preview for this locale, currently not used. +| @version@ [[type:version]] @0.0.0@ Version number of this package. + +| '''Specific to locales''' <<< <<< <<< +| @menu@ [[type:map]] of [[type:string]]s Translations of menu items.
+ Menu items can contain shortcut keys (like Ctrl+C for copy) by using a ''single'' TAB between the text and the shortcut key.
+ Keys to use with Alt+Something (displayed underlined) can be specified &
+ For exmaple + >>>new set: &New... Ctrl+N +| @help@ [[type:map]] of [[type:string]]s Translations of help texts for the status bar. +| @tool@ [[type:map]] of [[type:string]]s Translations of toolbar item texts. +| @tooltip@ [[type:map]] of [[type:string]]s Translations of tooltips for toolbar items. +| @label@ [[type:map]] of [[type:string]]s Labels of controls in the GUI. +| @button@ [[type:map]] of [[type:string]]s Labels of buttons in the GUI. +| @title@ [[type:map]] of [[type:string]]s Titles of windows. +| @action@ [[type:map]] of [[type:string]]s Names of actions for undo/redo, things like "typing" and "add card". +| @error@ [[type:map]] of [[type:string]]s Error messages. +| @type@ [[type:map]] of [[type:string]]s Types of objects for error messages. +| @game@ [[type:map]] of [[type:map]] of [[type:string]]s + Translations for specific [[type:game]]s.
+ Field names and field descriptions are looked up in the locale, if they are found the translation is used, otherwise the value from the game file.
+ Extra keys not present in the English locale can be added here. +| @stylesheet@ [[type:map]] of [[type:map]] of [[type:string]]s + Translations for specific [[type:stylesheet]]s. +| @symbol font@ [[type:map]] of [[type:map]] of [[type:string]]s + Translations for specific [[type:symbol font]]s, in particular the "insert symbol" menu. + +Some of the items can contain placeholders for other values, for example: +> undo: &Undo%s Ctrl+Z +The @%s@ is replaced by the name of the action to undo. +This @%s@ should be used in exactly those entries that also contain it in the English locale. + +--Examples-- +Look at the @"en.mse-locale"@ file in the standard MSE distribution for an example. diff --git a/doc/type/script.txt b/doc/type/script.txt new file mode 100644 index 00000000..e69de29b diff --git a/doc/type/scriptable.txt b/doc/type/scriptable.txt new file mode 100644 index 00000000..e69de29b diff --git a/doc/type/set.txt b/doc/type/set.txt index 4e661e74..ffa2f762 100644 --- a/doc/type/set.txt +++ b/doc/type/set.txt @@ -21,7 +21,8 @@ such a package contains a data file called set. | '''Specific to sets''' <<< <<< <<< | game Name of a [[type:game]] ''required'' The game this set is made for. -| stylesheet Name of a [[type:stylesheet]] ''required'' The default style for drawing cards in this set. +| stylesheet Name of a [[type:stylesheet]] ''required'' The default style for drawing cards in this set.
+ This is without the game name or extension, so @"new"@ refers to the package @"gamename-new.mse-style"@. | set info [[type:indexmap]] of [[type:value]]s The data for the [[prop:game:set fields]] defined in the game. | styling [[type:map]] of [[type:indexmap]]s of [[type:value]]s Data for the 'extra fields' of the stylesheet.
diff --git a/doc/type/settings.txt b/doc/type/settings.txt new file mode 100644 index 00000000..e69de29b diff --git a/doc/type/statistics_category.txt b/doc/type/statistics_category.txt index e69de29b..8bad7984 100644 --- a/doc/type/statistics_category.txt +++ b/doc/type/statistics_category.txt @@ -0,0 +1,27 @@ +Data type: statistics category + +--Overview-- + +A category in the statistics panel. +This is a single choice in the list on the left of that panel. + +Statistics dimensions are automatically generated for all [[type:statistics dimension]]s a [[type:game]]. + +--Properties-- +! Property Type Default Description +| @name@ [[type:string]] ''required'' Name of this category. +| @description@ [[type:string]] @""@ A description of the category, currently not used. +| @position hint@ [[type:string]] @0@ Hint for ordering category, lower numbers are at the top of the list. +| @icon@ [[type:filename]] Filename of an icon for this category, the image should be 21x21 pixels. +| @type@ [[type:graph type]] @"bar"@ Type of graph to use. +| @dimensions@ [[type:list]] of names of [[type:statistics dimension]]s + Dimensions for the axes of the graph.
+ The number of dimensions must be the same as that needed for the [[type:graph type]]. + +--Example-- +A graph with power on the horizontal axis, toughness on the vertical axis: +>statistics category: +> name: power/toughness +> type: scatter +> dimension: power +> dimension: toughness diff --git a/doc/type/statistics_dimension.txt b/doc/type/statistics_dimension.txt index e69de29b..d6334649 100644 --- a/doc/type/statistics_dimension.txt +++ b/doc/type/statistics_dimension.txt @@ -0,0 +1,46 @@ +Data type: statistics dimension + +--Overview-- + +A dimension or axis for the statistics panel. + +One or more dimensions are combined in a graph, these combinations are called [[type:statistics category]]s. + +Statistics dimensions are automatically generated for all card fields in a [[type:game]] that don't set @show statistics@ to @false@. + +Categories are also automatically generated from dimensions. + +--Properties-- +! Property Type Default Description +| @name@ [[type:string]] ''required'' Name of this dimension, used as an axis label and a label for automatically generated categories. +| @description@ [[type:string]] @""@ A description of the dimension, currently not used. +| @position hint@ [[type:string]] @0@ Hint for ordering dimensions. +| @icon@ [[type:filename]] Filename of an icon for this dimension. +| @script@ [[type:script]] ''required'' Script that generates a value for each card in the set. +| @numeric@ [[type:boolean]] @false@ Is the value always a number? +| @show empty@ [[type:boolean]] @false@ Should cards with the value @""@ be included? +| @split list@ [[type:boolean]] @false@ Indicates the value is a list of the form @"item1, item2"@. The card is put under both items. +| @colors@ [[type:map]] of [[type:color]]s Colors to use for specific values +| @groups@ [[type:list]] of [[type:string]]s Values to always show, and the order to show them in. + +--Example-- +Automatically generated statistics dimensions look like this: +>statistics dimension: +> name: power +> script: card.power + +Specify a specific order and color of values, otherwise they are ordered alphabeticaly and groups with no cards are not shown: +>statistics dimension: +> name: color +> script: card.color +> group: white +> group: blue +> group: black +> group: red +> group: green +> colors: +> white: rgb(255,255,255) +> blue: rgb(0,0,255) +> black: rgb(0,0,0) +> red: rgb(255,0,0) +> green: rgb(0,255,0) diff --git a/doc/type/symbol.txt b/doc/type/symbol.txt new file mode 100644 index 00000000..34db1acd --- /dev/null +++ b/doc/type/symbol.txt @@ -0,0 +1,20 @@ +File type: Symbol + +--Overview-- + +A symbol file contains a symbol created with the symbol editor. + +Symbols are not stored in packages, the data file is directly written to a @".mse-symbol"@ file. + +--Coordinates-- + +Various parts of a symbol use [[type:vector2d|coordinates]]. +These are pairs of numbers in the range @0@ to @1@. @(0,0)@ is the top-left of the symbol, @(1,1)@ the bottom-right. + +--Properties-- +! Property Type Default Description +| @mse version@ [[type:version]] ''required'' Version of MSE this symbol is made with. +| @parts@ [[type:list]] of [[type:symbol part]]s The parts in this symbol. + +--Example-- +Look at a file made with the program. diff --git a/doc/type/symbol_combine.txt b/doc/type/symbol_combine.txt new file mode 100644 index 00000000..8aa2b972 --- /dev/null +++ b/doc/type/symbol_combine.txt @@ -0,0 +1,19 @@ +Enumeration: symbol combine + +Specifies how symbol shapes are combined with those below it + +--Script syntax-- +In scripts, symbol combine modes are passed around as a string. + +--Possible values-- +The value is one of the following options: +! Value Description +| @overlap@ Place this shape on top of those below it.
Further combine options only apply to this shape. +| @merge@ Marge this shape with the one below it, they are considered a single shape for further combining. +| @subtract@ Subtract this shape from the one below it. +| @intersection@ Take the intersection of this shape and the one below it, only areas that are in both shapes remain. +| @difference@ Take the difference of this shape and the one below it, only areas that are in exactly one of the shapes remain. +| @border@ Use this shape as additional border for the shape below it. + +--Examples-- +> combine: overlap diff --git a/doc/type/symbol_filter.txt b/doc/type/symbol_filter.txt new file mode 100644 index 00000000..e69de29b diff --git a/doc/type/symbol_font.txt b/doc/type/symbol_font.txt new file mode 100644 index 00000000..cf44d6d0 --- /dev/null +++ b/doc/type/symbol_font.txt @@ -0,0 +1,58 @@ +File type: Symbol font + +--Overview-- + +A symbol font is a font for drawing with images. +Each [[type:symbol font symbol|symbol-font-symbol]] in the font is an image. + +A symbol font is referenced in [[type:stylesheet]]s using a [[type:symbol font reference]]. + +--Splitting-- + +A piece of text drawn with the symbol font is split into separate symbols. +The list of symbols in the font is scanned from top to bottom to find matches. + +If the text is for instance "W/GR" and "W/G" should be rendered as a single symbol, then it should appear before the symbol "W". +Otherwise the "W" is seen as a symbol and the program continues with rendering "/GR". + +--Font size-- + +A symbol font is drawn using a specific point size, similair to normal fonts. +Usually the images that make up the font are given in a very high resolution, for example 200x200. +This resulution could correspond to a point size of for instance 150pt. + +When the symbol is drawn at for instance 12pt the image well then be scalled down to @200/150*12 == 16@ pixels. + +--Package format-- + +A symbol font is described in a [[file:package]] with the .mse-symbol-font file extension. +Such a package contains a [[file:format|data file]] called symbol-font that has the following properties. + +--Properties-- +! Property Type Default Description +| '''Common to all packages''' <<< <<< <<< +| @mse version@ [[type:version]] ''required'' Version of MSE this symbol font is made for. +| @short name@ [[type:string]] file name A short name of this symbol font, currently not used by the program. +| @full name@ [[type:string]] file name A longer name of this symbol font, currently not used by the program. +| @icon@ [[type:filename]] ''none'' Filename of an icon, currently not used by the program. +| @version@ [[type:version]] @0.0.0@ Version number of this package. +| @depends on@ [[type:list]] of [[type:dependency]]s + Packages this package depends on. + +| '''Specific to symbol fonts''' <<< <<< <<< +| @image font size@ [[type:double]] @12@ To what point size do the images correspond? +| @horizontal space@ [[type:double]] @0@ Horizontal spacing between symbols, in pixels. +| @vertical space@ [[type:double]] @0@ Vertical spacing between symbols, in pixels. +| @symbols@ [[type:list]] of [[type:symbol font symbol]]s Symbols that make up this font. +| @text font@ [[type:font]] Font to use for drawing text on symbols, only used if there is a default symbol. +| @scale text@ [[type:boolean]] @false@ Should text be scaled down to fit in a symbol? +| @merge numbers@ [[type:boolean]] @false@ Should a numeric value of multiple digits be rendered as a single symbol? +| @text margin left@ [[type:double]] @0@ Margin on the left of the text in pixels. +| @text margin right@ [[type:double]] @0@ Margin on the right of the text in pixels. +| @text margin top@ [[type:double]] @0@ Margin on the top of the text in pixels. +| @text margin bottom@ [[type:double]] @0@ Margin on the bottom of the text in pixels. +| @text alignment@ [[type:alignment]] @"middle center"@ How should text be aligned on symbols? +| @insert symbol menu@ [[type:insert symbol menu|"insert symbol" menu]] ''none'' A description of the menu to insert a symbol into the text. + +--Examples-- +See for instance the @"magic-mana-small.mse-symbol-font"@ package in the MSE distribution. diff --git a/doc/type/symbol_font_reference.txt b/doc/type/symbol_font_reference.txt new file mode 100644 index 00000000..f6615d5a --- /dev/null +++ b/doc/type/symbol_font_reference.txt @@ -0,0 +1,26 @@ +Data type: symbol font reference + +--Overview-- + +A reference to a [[type:symbol font]]. + +In [[type:stylesheet]]s the symbol fonts are not included inline, instead they are referenced by their package name. + +--Properties-- +! Property Type Default Description +| @name@ [[type:scriptable]] Name of a [[type:symbol font]] + ''required'' Name of the symbol font package to use (without the extension). +| @size@ [[type:double]] 12 Size in points to render the symbols with. +| @scale down to@ [[type:double]] 1 Minimum size in points to scale the size down to. +| @alignment@ [[type:alignment]] @"middle center"@ Alignment of symbols in a line of text. + +--Example-- +>symbol font: +> name: magic-mana-small +> size: 10 +> alignment: top left +The name can be scripted: +>symbol font: +> name: { if set.use_larga_mana_symbols then "magic-mana-large" else "magic-mana-small" } +> size: 10 +> alignment: top left diff --git a/doc/type/symbol_font_symbol.txt b/doc/type/symbol_font_symbol.txt new file mode 100644 index 00000000..2a48f39f --- /dev/null +++ b/doc/type/symbol_font_symbol.txt @@ -0,0 +1,30 @@ +Data type: symbol font symbol + +--Overview-- + +A single symbol in a [[type:symbol font]]. + +--Properties-- +! Property Type Default Description +| @image font size@ [[type:double]] value from symbol font To what point size does the images correspond? +| @code@ [[type:string]] ''required'' Text this symbol matches.
+ A single symbol can omit the code, this then becomes the ''default symbol'', on which text is drawn. +| @image@ [[type:scriptable]] [[type:image]] ''required'' Image of this symbol. +| @enabled@ [[type:scriptable]] [[type:boolean]] @true@ Is this symbol actually used?
+ This can be scripted to optionally disable certain symbols.
+ If multiple symbols with the same code are given disabling the first switches to the second one. + +--Examples-- +A default symbol: +>symbol: +> image: blank.png + +Two symbols for the same code, which one is used depends on a function from the [[type:stylesheet]]. +It is recommended to only use functions in @enabled@, so each stylesheet can determine how the font should be used. +>symbol: +> code: T +> image: mana_t_old.png +> enabled: { use_old_tap_symbol() } +>symbol: +> code: T +> image: mana_t.png diff --git a/doc/type/symbol_part.txt b/doc/type/symbol_part.txt new file mode 100644 index 00000000..9351b420 --- /dev/null +++ b/doc/type/symbol_part.txt @@ -0,0 +1,29 @@ +Data type: symbol part + +--Overview-- + +A part of a symbol, corresponds to an item you see in the list on the left of the editor. + +--Properties-- +! Property Type Default Description +| @type@ One of: @"shape"@ What type of symbol part is this? + * @shape@ + * @group@ + * @symmetry@ +| @name@ [[type:string]] @""@ The name of this part, for the part list. + +The rest of the properties depends on the @type@. + +! Type Property Type Default Description +| @"shape"@ @combine@ [[type:symbol combine]] @"overlap"@ How to combine the shape with those below it? +| ^^^ @points@ [[type:list]] of [[type:control point]]s The points that form this shape +| @"symmetry"@ @kind@ @rotation@ or @reflection@ @"rotation"@ What kind of symmetry is this? +| ^^^ @copies@ [[type:int]] 2 How many times is the original copied (including the original itself)? +| ^^^ @center@ [[type:vector2d]] Coordinates of the center of symmetry. +| ^^^ @handle@ [[type:vector2d]] Direction perpendicular to the 'mirror' (this is a direction, so relative to the center). +| @"group"@ and @"symmetry"@ + @parts@ [[type:list]] of [[type:symbol part]]s Parts in this group. + + +--Example-- +Look at a symbol file made with the program. diff --git a/doc/type/symbol_variation.txt b/doc/type/symbol_variation.txt new file mode 100644 index 00000000..e69de29b diff --git a/doc/type/tagged_string.txt b/doc/type/tagged_string.txt index c51282ef..a82565c8 100644 --- a/doc/type/tagged_string.txt +++ b/doc/type/tagged_string.txt @@ -1,37 +1,47 @@ -==Data type: string with tags== +Data type: string with tags --Syntax-- -&1; +Strings in [[type:value|text values]] can contain markup tags. +These tags affect the presentation and sometimes the behaviour of the text. + +A tag is something like @"some text"@, similair to HTML. +Tags are closed by the same tag with a @/@ before it. + +To represent the character @"<"@ in a tagged string use @"\<"@ in script code. +This is written as the character with code 1 in files. --Basic markup-- -! Tag Description -| The text inside the tag is bold. -| The text inside the tag is italic. -| The text inside the tag is rendered as symbols, if a [[prop:style:symbol font]] is set for the text box. -| Line breaks inside this tag use the [[prop:style:line height line]], and they show a horizontal line. -| Line breaks inside this tag use the [[prop:style:soft line height]]. -| An atomic piece of text. The cursor can never be inside it; it is selected as a whole. - The program automatically inserts -| The text inside the text is rendered in a monospace font. This is used for syntax highlighting script code. -| The text inside the text is highlighted as a keyword in source code. -| The text inside the text is highlighted as a string in source code. +! Tag Description +| @""@ The text inside the tag is bold. +| @""@ The text inside the tag is italic. +| @""@ The text inside the tag is rendered as symbols, if a [[prop:style:symbol font]] is set for the text box. +| @""@ Line breaks inside this tag use the [[prop:style:line height line]], and they show a horizontal line. +| @""@ Line breaks inside this tag use the [[prop:style:soft line height]]. +| @""@ An atomic piece of text. The cursor can never be inside it; it is selected as a whole. + The program automatically inserts +| @""@ The text inside the text is rendered in a monospace font. This is used for syntax highlighting script code. +| @""@ The text inside the text is highlighted as a keyword in source code. +| @""@ The text inside the text is highlighted as a string in source code. --Other tags-- -! Tag Description -| Indicates that the text inside it is a keyword. This tag is automatically inserted by - The [[fun:expand_keywords] function. There are four versions, indicating whether or not reminder text is shown - | Reminder text hidden, by default - | Reminder text shown, by default - | Remder hidden manually - | Remder shown manually -| A separator between fields. This tag is automatically inserted by the [[fun:combined_editor]] function. - Inserting this tag manually will confuse that function! - This tag can never be selected, and its contents can not be edited. -| Like <sep>, only hidden. This is inserted by [[fun:combined_editor]] - ... -| any other tag Other tags are ignored. +! Tag Description +| @""@ Indicates that the text inside it is a keyword. This tag is automatically inserted by + The [[fun:expand_keywords]] function.
+ There are four versions, indicating whether or not reminder text is shown: + * @""@, Reminder text hidden, by default + * @""@, Reminder text shown, by default + * @""@, Reminder hidden manually + * @""@, Reminder shown manually +| @""@ A separator between fields. This tag is automatically inserted by the [[fun:combined_editor]] function.
+ Inserting this tag manually will confuse that function!
+ This tag can never be selected, and its contents can not be edited. +| @""@ Like @""@, only hidden. This is inserted by [[fun:combined_editor]] +| any other tag Other tags are ignored. --Related functions-- The following script functions deal with tags: -| [[fun:remove_tag]] +| [[fun:tag_contents|tag_contents / tag_contents_rule]] + Change the contents of a specific tag. +| [[fun:remove_tag|remove_tag / tag_remove_rule]] + Remove a tag, keep the contents. diff --git a/doc/type/vector2d.txt b/doc/type/vector2d.txt new file mode 100644 index 00000000..a4f38183 --- /dev/null +++ b/doc/type/vector2d.txt @@ -0,0 +1,15 @@ +Data type: two dimensional vector + +A coordinate or direction in a symbol. +This is a pair of [[type:double]]s. + +The coordinates are usually in the range @0@ to @1@. +@(0,0)@ is the top-left of the symbol, @(1,1)@ the bottom-right. + +--File syntax-- +> (x-coordinate,y-coordinate) +For example +> (0.5,0.5) + +--Script syntax-- +Vectors can not be represented in script syntax.