2019-03-17 14:40:57 +02:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
< head >
< title > 1/mm< / title >
2020-03-19 02:11:25 +02:00
< meta name = "viewport" content = "width=device-width initial-scale=1" >
2019-03-17 14:40:57 +02:00
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< meta http-equiv = "Content-Language" content = "en-gb" >
2020-03-19 02:11:25 +02:00
< link href = "../inweb.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2019-03-17 14:40:57 +02:00
< / head >
< body >
2020-03-19 02:11:25 +02:00
< nav role = "navigation" >
< h1 > < a href = "../webs.html" > Sources< / a > < / h1 >
< ul >
2020-03-28 21:42:53 +02:00
< li > < a href = "../compiler.html" > < b > compiler tools< / b > < / a > < / li >
2020-03-19 02:11:25 +02:00
< li > < a href = "../other.html" > other tools< / a > < / li >
< li > < a href = "../extensions.html" > extensions and kits< / a > < / li >
< li > < a href = "../units.html" > unit test tools< / a > < / li >
< / ul >
< h2 > Compiler Webs< / h2 >
< ul >
< li > < a href = "../inbuild/index.html" > inbuild< / a > < / li >
< li > < a href = "../inform7/index.html" > inform7< / a > < / li >
< li > < a href = "../inter/index.html" > inter< / a > < / li >
< / ul >
< h2 > Inbuild Modules< / h2 >
< ul >
< li > < a href = "../inbuild-module/index.html" > inbuild< / a > < / li >
< li > < a href = "../arch-module/index.html" > arch< / a > < / li >
< li > < a href = "../words-module/index.html" > words< / a > < / li >
< li > < a href = "../syntax-module/index.html" > syntax< / a > < / li >
< li > < a href = "../html-module/index.html" > html< / a > < / li >
< / ul >
< h2 > Inform7 Modules< / h2 >
< ul >
< li > < a href = "../core-module/index.html" > core< / a > < / li >
< li > < a href = "../problems-module/index.html" > problems< / a > < / li >
< li > < a href = "../inflections-module/index.html" > inflections< / a > < / li >
< li > < a href = "../linguistics-module/index.html" > linguistics< / a > < / li >
< li > < a href = "../kinds-module/index.html" > kinds< / a > < / li >
< li > < a href = "../if-module/index.html" > if< / a > < / li >
< li > < a href = "../multimedia-module/index.html" > multimedia< / a > < / li >
< li > < a href = "../index-module/index.html" > index< / a > < / li >
< / ul >
< h2 > Inter Modules< / h2 >
< ul >
< li > < a href = "../inter-module/index.html" > inter< / a > < / li >
< li > < a href = "../building-module/index.html" > building< / a > < / li >
< li > < a href = "../codegen-module/index.html" > codegen< / a > < / li >
< / ul >
< h2 > Foundation< / h2 >
< ul >
< li > < a href = "../../../inweb/docs/foundation-module/index.html" > foundation< / a > < / li >
< / ul >
< / nav >
< main role = "main" >
2019-03-17 14:40:57 +02:00
<!-- Weave of '2/fgr' generated by 7 -->
2020-03-22 12:50:19 +02:00
< ul class = "crumbs" > < li > < a href = "../webs.html" > Source< / a > < / li > < li > < a href = "../compiler.html" > Compiler Modules< / a > < / li > < li > < a href = "index.html" > multimedia< / a > < / li > < li > < a href = "index.html#2" > Chapter 2: Multimedia Features< / a > < / li > < li > < b > Figures< / b > < / li > < / ul > < p class = "purpose" > To register the names associated with picture resource numbers, which are defined to allow the final story file to display pictures, and to produce the thumbnail index of figures.< / p >
2019-03-17 14:40:57 +02:00
< ul class = "toc" > < li > < a href = "#SP1" > § 1. Definitions< / a > < / li > < li > < a href = "#SP12" > § 12. Blurb and manifest< / a > < / li > < li > < a href = "#SP16" > § 16. Thumbnail Index< / a > < / li > < / ul > < hr class = "tocbar" >
< p class = "inwebparagraph" > < a id = "SP1" > < / a > < b > § 1. Definitions. < / b > < / p >
< p class = "inwebparagraph" > < a id = "SP2" > < / a > < b > § 2. < / b > To be viable, figures have to be of an image format which Blorb recognises,
and in any case we only allow two formats: JPEG and PNG.
< / p >
< pre class = "display" >
< span class = "reserved" > typedef< / span > < span class = "plain" > < / span > < span class = "reserved" > struct< / span > < span class = "plain" > < / span > < span class = "reserved" > blorb_figure< / span > < span class = "plain" > {< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > struct< / span > < span class = "plain" > < / span > < span class = "identifier" > wording< / span > < span class = "plain" > < / span > < span class = "identifier" > name< / span > < span class = "plain" > ; < / span > < span class = "comment" > text of name< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > struct< / span > < span class = "plain" > < / span > < span class = "identifier" > filename< / span > < span class = "plain" > *< / span > < span class = "identifier" > filename_of_image_file< / span > < span class = "plain" > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > figure_number< / span > < span class = "plain" > ; < / span > < span class = "comment" > resource number of this picture inside Blorb< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > alt_description< / span > < span class = "plain" > ; < / span > < span class = "comment" > word number of double-quoted description< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > MEMORY_MANAGEMENT< / span >
< span class = "plain" > } < / span > < span class = "reserved" > blorb_figure< / span > < span class = "plain" > ;< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The structure blorb_figure is accessed in 2/se, 2/ef and here.< / p >
< p class = "inwebparagraph" > < a id = "SP3" > < / a > < b > § 3. < / b > One is special:
< / p >
< pre class = "display" >
< span class = "reserved" > blorb_figure< / span > < span class = "plain" > *< / span > < span class = "identifier" > F_cover_art< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "inwebparagraph" > < a id = "SP4" > < / a > < b > § 4. < / b > And we define one type ID.
A resource ID number for a figure (i.e.,
a picture) or a sound effect in the eventual blorb, or for use in Glulx
within the application.
< / p >
< pre class = "display" >
< span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K_figure_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "inwebparagraph" > < a id = "SP5" > < / a > < b > § 5. < / b > < / p >
< pre class = "display" >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > PL::Figures::start< / span > < span class = "plain" > (< / span > < span class = "reserved" > void< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > PLUGIN_REGISTER< / span > < span class = "plain" > (< / span > < span class = "identifier" > PLUGIN_NEW_INSTANCE_NOTIFY< / span > < span class = "plain" > , < / span > < span class = "functiontext" > PL::Figures::figures_new_named_instance_notify< / span > < span class = "plain" > );< / span >
< span class = "identifier" > PLUGIN_REGISTER< / span > < span class = "plain" > (< / span > < span class = "identifier" > PLUGIN_NEW_BASE_KIND_NOTIFY< / span > < span class = "plain" > , < / span > < span class = "functiontext" > PL::Figures::figures_new_base_kind_notify< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function PL::Figures::start appears nowhere else.< / p >
< p class = "inwebparagraph" > < a id = "SP6" > < / a > < b > § 6. < / b > < / p >
< pre class = "display" >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "functiontext" > PL::Figures::figures_new_base_kind_notify< / span > < span class = "plain" > (< / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > new_base< / span > < span class = "plain" > , < / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > wording< / span > < span class = "plain" > < / span > < span class = "identifier" > W< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Str::eq_wide_string< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > L< / span > < span class = "string" > "FIGURE_NAME_TY"< / span > < span class = "plain" > )) {< / span >
< span class = "identifier" > K_figure_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > new_base< / span > < span class = "plain" > ; < / span > < span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > TRUE< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > allow_figure_creations< / span > < span class = "plain" > = < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "functiontext" > PL::Figures::figures_new_named_instance_notify< / span > < span class = "plain" > (< / span > < span class = "identifier" > instance< / span > < span class = "plain" > *< / span > < span class = "identifier" > nc< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > K_figure_name< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > = < / span > < span class = "identifier" > Instances::to_kind< / span > < span class = "plain" > (< / span > < span class = "identifier" > nc< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Kinds::Compare::eq< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > , < / span > < span class = "identifier" > K_figure_name< / span > < span class = "plain" > )) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > allow_figure_creations< / span > < span class = "plain" > == < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > )< / span >
2020-03-11 02:21:09 +02:00
< span class = "identifier" > Problems::Issue::sentence_problem< / span > < span class = "plain" > (< / span > < span class = "identifier" > Task::syntax_tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > _p_< / span > < span class = "plain" > (< / span > < span class = "identifier" > PM_BackdoorFigureCreation< / span > < span class = "plain" > ),< / span >
2019-03-17 14:40:57 +02:00
< span class = "string" > "this is not the way to create a new figure name"< / span > < span class = "plain" > ,< / span >
< span class = "string" > "which should be done with a special 'Figure ... is the file ...' "< / span >
< span class = "string" > "sentence."< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Instances::set_connection< / span > < span class = "plain" > (< / span > < span class = "identifier" > nc< / span > < span class = "plain" > ,< / span >
< span class = "identifier" > STORE_POINTER_blorb_figure< / span > < span class = "plain" > (< / span > < span class = "functiontext" > PL::Figures::new_blorb_figure< / span > < span class = "plain" > (< / span > < span class = "identifier" > nc< / span > < span class = "plain" > )));< / span >
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > TRUE< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< span class = "reserved" > blorb_figure< / span > < span class = "plain" > *< / span > < span class = "functiontext" > PL::Figures::new_blorb_figure< / span > < span class = "plain" > (< / span > < span class = "identifier" > instance< / span > < span class = "plain" > *< / span > < span class = "identifier" > nc< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > blorb_figure< / span > < span class = "plain" > *< / span > < span class = "identifier" > bf< / span > < span class = "plain" > = < / span > < span class = "identifier" > CREATE< / span > < span class = "plain" > (< / span > < span class = "reserved" > blorb_figure< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > name< / span > < span class = "plain" > = < / span > < span class = "identifier" > EMPTY_WORDING< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > filename_of_image_file< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > figure_number< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > alt_description< / span > < span class = "plain" > = -1;< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > bf< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function PL::Figures::figures_new_base_kind_notify is used in < a href = "#SP5" > § 5< / a > .< / p >
< p class = "endnote" > The function PL::Figures::figures_new_named_instance_notify is used in < a href = "#SP5" > § 5< / a > .< / p >
< p class = "endnote" > The function PL::Figures::new_blorb_figure appears nowhere else.< / p >
< p class = "inwebparagraph" > < a id = "SP7" > < / a > < b > § 7. < / b > Figure allocation now follows. This handles the special meaning "X is an figure...".
< / p >
< pre class = "display" >
< span class = "plain" > < < / span > < span class = "identifier" > new< / span > < span class = "plain" > -< / span > < span class = "identifier" > figure< / span > < span class = "plain" > -< / span > < span class = "identifier" > sentence< / span > < span class = "plain" > -< / span > < span class = "identifier" > object< / span > < span class = "plain" > > ::=< / span >
< span class = "plain" > < < / span > < span class = "identifier" > definite< / span > < span class = "plain" > -< / span > < span class = "identifier" > article< / span > < span class = "plain" > > < < / span > < span class = "identifier" > new< / span > < span class = "plain" > -< / span > < span class = "identifier" > figure< / span > < span class = "plain" > -< / span > < span class = "identifier" > sentence< / span > < span class = "plain" > -< / span > < span class = "identifier" > object< / span > < span class = "plain" > -< / span > < span class = "identifier" > unarticled< / span > < span class = "plain" > > | ==> < / span > < span class = "identifier" > R< / span > < span class = "plain" > [2]; *< / span > < span class = "identifier" > XP< / span > < span class = "plain" > = < / span > < span class = "identifier" > RP< / span > < span class = "plain" > [2]< / span >
< span class = "plain" > < < / span > < span class = "identifier" > new< / span > < span class = "plain" > -< / span > < span class = "identifier" > figure< / span > < span class = "plain" > -< / span > < span class = "identifier" > sentence< / span > < span class = "plain" > -< / span > < span class = "identifier" > object< / span > < span class = "plain" > -< / span > < span class = "identifier" > unarticled< / span > < span class = "plain" > > ==> < / span > < span class = "identifier" > R< / span > < span class = "plain" > [1]; *< / span > < span class = "identifier" > XP< / span > < span class = "plain" > = < / span > < span class = "identifier" > RP< / span > < span class = "plain" > [1]< / span >
< span class = "plain" > < < / span > < span class = "identifier" > new< / span > < span class = "plain" > -< / span > < span class = "identifier" > figure< / span > < span class = "plain" > -< / span > < span class = "identifier" > sentence< / span > < span class = "plain" > -< / span > < span class = "identifier" > object< / span > < span class = "plain" > -< / span > < span class = "identifier" > unarticled< / span > < span class = "plain" > > ::=< / span >
< span class = "identifier" > file< / span > < span class = "plain" > < < / span > < span class = "identifier" > nounphrase< / span > < span class = "plain" > > ==> < / span > < span class = "identifier" > TRUE< / span > < span class = "plain" > ; *< / span > < span class = "identifier" > XP< / span > < span class = "plain" > = < / span > < span class = "identifier" > RP< / span > < span class = "plain" > [1]< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "inwebparagraph" > < a id = "SP8" > < / a > < b > § 8. < / b > < / p >
< pre class = "display" >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "functiontext" > PL::Figures::new_figure_SMF< / span > < span class = "plain" > (< / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > task< / span > < span class = "plain" > , < / span > < span class = "identifier" > parse_node< / span > < span class = "plain" > *< / span > < span class = "identifier" > V< / span > < span class = "plain" > , < / span > < span class = "identifier" > wording< / span > < span class = "plain" > *< / span > < span class = "identifier" > NPs< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > wording< / span > < span class = "plain" > < / span > < span class = "identifier" > SW< / span > < span class = "plain" > = (< / span > < span class = "identifier" > NPs< / span > < span class = "plain" > )?(< / span > < span class = "identifier" > NPs< / span > < span class = "plain" > [0]):< / span > < span class = "identifier" > EMPTY_WORDING< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > wording< / span > < span class = "plain" > < / span > < span class = "identifier" > OW< / span > < span class = "plain" > = (< / span > < span class = "identifier" > NPs< / span > < span class = "plain" > )?(< / span > < span class = "identifier" > NPs< / span > < span class = "plain" > [1]):< / span > < span class = "identifier" > EMPTY_WORDING< / span > < span class = "plain" > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > switch< / span > < span class = "plain" > (< / span > < span class = "identifier" > task< / span > < span class = "plain" > ) { < / span > < span class = "comment" > "Figure... is the file..."< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > ACCEPT_SMFT:< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > if< / span > < span class = "plain" > ((< < / span > < span class = "identifier" > nounphrase< / span > < span class = "plain" > -< / span > < span class = "identifier" > figure< / span > < span class = "plain" > > (< / span > < span class = "identifier" > SW< / span > < span class = "plain" > )) & & (< < / span > < span class = "identifier" > new< / span > < span class = "plain" > -< / span > < span class = "identifier" > figure< / span > < span class = "plain" > -< / span > < span class = "identifier" > sentence< / span > < span class = "plain" > -< / span > < span class = "identifier" > object< / span > < span class = "plain" > > (< / span > < span class = "identifier" > OW< / span > < span class = "plain" > ))) {< / span >
< span class = "identifier" > ParseTree::annotate_int< / span > < span class = "plain" > (< / span > < span class = "identifier" > V< / span > < span class = "plain" > , < / span > < span class = "identifier" > verb_id_ANNOT< / span > < span class = "plain" > , < / span > < span class = "identifier" > SPECIAL_MEANING_VB< / span > < span class = "plain" > );< / span >
< span class = "identifier" > parse_node< / span > < span class = "plain" > *< / span > < span class = "identifier" > O< / span > < span class = "plain" > = < < < / span > < span class = "identifier" > rp< / span > < span class = "plain" > > > ;< / span >
< span class = "plain" > < < / span > < span class = "identifier" > nounphrase< / span > < span class = "plain" > > (< / span > < span class = "identifier" > SW< / span > < span class = "plain" > );< / span >
< span class = "identifier" > V< / span > < span class = "plain" > -> < / span > < span class = "identifier" > next< / span > < span class = "plain" > = < < < / span > < span class = "identifier" > rp< / span > < span class = "plain" > > > ;< / span >
< span class = "identifier" > V< / span > < span class = "plain" > -> < / span > < span class = "identifier" > next< / span > < span class = "plain" > -> < / span > < span class = "identifier" > next< / span > < span class = "plain" > = < / span > < span class = "identifier" > O< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > TRUE< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > TRAVERSE1_SMFT:< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Plugins::Manage::plugged_in< / span > < span class = "plain" > (< / span > < span class = "identifier" > figures_plugin< / span > < span class = "plain" > ) == < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > )< / span >
< span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "Figures plugin inactive"< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > PL::Figures::register_figure< / span > < span class = "plain" > (< / span > < span class = "identifier" > ParseTree::get_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > V< / span > < span class = "plain" > -> < / span > < span class = "identifier" > next< / span > < span class = "plain" > ),< / span >
< span class = "identifier" > ParseTree::get_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > V< / span > < span class = "plain" > -> < / span > < span class = "identifier" > next< / span > < span class = "plain" > -> < / span > < span class = "identifier" > next< / span > < span class = "plain" > ));< / span >
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function PL::Figures::new_figure_SMF appears nowhere else.< / p >
< p class = "inwebparagraph" > < a id = "SP9" > < / a > < b > § 9. < / b > < / p >
< pre class = "display" >
< span class = "plain" > < < / span > < span class = "identifier" > figure< / span > < span class = "plain" > -< / span > < span class = "identifier" > sentence< / span > < span class = "plain" > -< / span > < span class = "identifier" > object< / span > < span class = "plain" > > ::=< / span >
< span class = "plain" > < < / span > < span class = "identifier" > figure< / span > < span class = "plain" > -< / span > < span class = "identifier" > source< / span > < span class = "plain" > > ( < < / span > < span class = "identifier" > quoted< / span > < span class = "plain" > -< / span > < span class = "identifier" > text< / span > < span class = "plain" > > ) | ==> < / span > < span class = "identifier" > R< / span > < span class = "plain" > [1]; < < < / span > < span class = "identifier" > alttext< / span > < span class = "plain" > > > = < / span > < span class = "identifier" > R< / span > < span class = "plain" > [2];< / span >
< span class = "plain" > < < / span > < span class = "identifier" > figure< / span > < span class = "plain" > -< / span > < span class = "identifier" > source< / span > < span class = "plain" > > ==> < / span > < span class = "identifier" > R< / span > < span class = "plain" > [1]< / span >
< span class = "plain" > < < / span > < span class = "identifier" > figure< / span > < span class = "plain" > -< / span > < span class = "identifier" > source< / span > < span class = "plain" > > ::=< / span >
< span class = "identifier" > of< / span > < span class = "plain" > < / span > < span class = "identifier" > cover< / span > < span class = "plain" > < / span > < span class = "identifier" > art< / span > < span class = "plain" > | ==> -1< / span >
< span class = "plain" > < < / span > < span class = "identifier" > quoted< / span > < span class = "plain" > -< / span > < span class = "identifier" > text< / span > < span class = "plain" > > | ==> < / span > < span class = "identifier" > R< / span > < span class = "plain" > [1]< / span >
< span class = "plain" > ... ==> < / span > < < span class = "cwebmacro" > Issue PM_PictureNotTextual problem< / span > < span class = "cwebmacronumber" > 9.1< / span > > < span class = "plain" > ;< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "inwebparagraph" > < a id = "SP9_1" > < / a > < b > § 9.1. < / b > < code class = "display" >
< < span class = "cwebmacrodefn" > Issue PM_PictureNotTextual problem< / span > < span class = "cwebmacronumber" > 9.1< / span > > =
< / code > < / p >
< pre class = "displaydefn" >
2020-03-11 02:21:09 +02:00
< span class = "identifier" > Problems::Issue::sentence_problem< / span > < span class = "plain" > (< / span > < span class = "identifier" > Task::syntax_tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > _p_< / span > < span class = "plain" > (< / span > < span class = "identifier" > PM_PictureNotTextual< / span > < span class = "plain" > ),< / span >
2019-03-17 14:40:57 +02:00
< span class = "string" > "a figure can only be declared as a quoted file name"< / span > < span class = "plain" > ,< / span >
< span class = "string" > "which should be the name of a JPEG or PNG image inside the "< / span >
< span class = "string" > "project's .materials folder. For instance, 'Figure 2 is the "< / span >
2020-04-07 03:06:09 +03:00
< span class = "string" > "file \"Crossed Swords.png\".'"< / span > < span class = "plain" > );< / span >
< span class = "plain" > *< / span > < span class = "identifier" > X< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > This code is used in < a href = "#SP9" > § 9< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP10" > < / a > < b > § 10. < / b > This is a figure name which Inform provides special support for; it
recognises the English name when it is defined by the Standard Rules. (So there
is no need to translate this to other languages.)
< / p >
< pre class = "display" >
< span class = "plain" > < < / span > < span class = "identifier" > notable< / span > < span class = "plain" > -< / span > < span class = "identifier" > figures< / span > < span class = "plain" > > ::=< / span >
< span class = "identifier" > of< / span > < span class = "plain" > < / span > < span class = "identifier" > cover< / span > < span class = "plain" > < / span > < span class = "identifier" > art< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "inwebparagraph" > < a id = "SP11" > < / a > < b > § 11. < / b > < / p >
< pre class = "display" >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > PL::Figures::register_figure< / span > < span class = "plain" > (< / span > < span class = "identifier" > wording< / span > < span class = "plain" > < / span > < span class = "identifier" > F< / span > < span class = "plain" > , < / span > < span class = "identifier" > wording< / span > < span class = "plain" > < / span > < span class = "identifier" > FN< / span > < span class = "plain" > ) {< / span >
< span class = "plain" > < < < / span > < span class = "identifier" > alttext< / span > < span class = "plain" > > > = -1;< / span >
< span class = "plain" > < < / span > < span class = "identifier" > figure< / span > < span class = "plain" > -< / span > < span class = "identifier" > sentence< / span > < span class = "plain" > -< / span > < span class = "identifier" > object< / span > < span class = "plain" > > (< / span > < span class = "identifier" > FN< / span > < span class = "plain" > );< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > wn< / span > < span class = "plain" > = < < < / span > < span class = "identifier" > r< / span > < span class = "plain" > > > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > wn< / span > < span class = "plain" > == < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) < / span > < span class = "reserved" > return< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > wn< / span > < span class = "plain" > > < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) < / span > < span class = "identifier" > Word::dequote< / span > < span class = "plain" > (< / span > < span class = "identifier" > wn< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< < < / span > < span class = "identifier" > alttext< / span > < span class = "plain" > > > > < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) < / span > < span class = "identifier" > Word::dequote< / span > < span class = "plain" > (< < < / span > < span class = "identifier" > alttext< / span > < span class = "plain" > > > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > Assertions::Creator::vet_name_for_noun< / span > < span class = "plain" > (< / span > < span class = "identifier" > F< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > ((< < / span > < span class = "identifier" > s< / span > < span class = "plain" > -< / span > < span class = "identifier" > value< / span > < span class = "plain" > > (< / span > < span class = "identifier" > F< / span > < span class = "plain" > )) & & < / span >
< span class = "plain" > (< / span > < span class = "identifier" > Rvalues::is_CONSTANT_of_kind< / span > < span class = "plain" > (< < < / span > < span class = "identifier" > rp< / span > < span class = "plain" > > > , < / span > < span class = "identifier" > K_figure_name< / span > < span class = "plain" > ))) {< / span >
2020-03-11 02:21:09 +02:00
< span class = "identifier" > Problems::Issue::sentence_problem< / span > < span class = "plain" > (< / span > < span class = "identifier" > Task::syntax_tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > _p_< / span > < span class = "plain" > (< / span > < span class = "identifier" > PM_PictureDuplicate< / span > < span class = "plain" > ),< / span >
2019-03-17 14:40:57 +02:00
< span class = "string" > "this is already the name of a Figure"< / span > < span class = "plain" > ,< / span >
< span class = "string" > "so there must be some duplication somewhere."< / span > < span class = "plain" > );< / span >
< span class = "reserved" > return< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< span class = "identifier" > allow_figure_creations< / span > < span class = "plain" > = < / span > < span class = "identifier" > TRUE< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > pcalc_prop< / span > < span class = "plain" > *< / span > < span class = "identifier" > prop< / span > < span class = "plain" > = < / span > < span class = "identifier" > Calculus::Propositions::Abstract::to_create_something< / span > < span class = "plain" > (< / span > < span class = "identifier" > K_figure_name< / span > < span class = "plain" > , < / span > < span class = "identifier" > F< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Calculus::Propositions::Assert::assert_true< / span > < span class = "plain" > (< / span > < span class = "identifier" > prop< / span > < span class = "plain" > , < / span > < span class = "identifier" > CERTAIN_CE< / span > < span class = "plain" > );< / span >
< span class = "identifier" > allow_figure_creations< / span > < span class = "plain" > = < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > blorb_figure< / span > < span class = "plain" > *< / span > < span class = "identifier" > bf< / span > < span class = "plain" > = < / span > < span class = "identifier" > RETRIEVE_POINTER_blorb_figure< / span > < span class = "plain" > (< / span >
< span class = "identifier" > Instances::get_connection< / span > < span class = "plain" > (< / span > < span class = "identifier" > latest_instance< / span > < span class = "plain" > ));< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > name< / span > < span class = "plain" > = < / span > < span class = "identifier" > F< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > wn< / span > < span class = "plain" > > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > figure_number< / span > < span class = "plain" > = < / span > < span class = "identifier" > Task::get_next_free_blorb_resource_ID< / span > < span class = "plain" > ();< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > TEMPORARY_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > leaf< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE_TO< / span > < span class = "plain" > (< / span > < span class = "identifier" > leaf< / span > < span class = "plain" > , < / span > < span class = "string" > "%N"< / span > < span class = "plain" > , < / span > < span class = "identifier" > wn< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > filename_of_image_file< / span > < span class = "plain" > = < / span > < span class = "identifier" > Filenames::in_folder< / span > < span class = "plain" > (< / span > < span class = "identifier" > Task::figures_path< / span > < span class = "plain" > (), < / span > < span class = "identifier" > leaf< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > DISCARD_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > leaf< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > alt_description< / span > < span class = "plain" > = < < < / span > < span class = "identifier" > alttext< / span > < span class = "plain" > > > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > {< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > figure_number< / span > < span class = "plain" > = < / span > < span class = "constant" > 1< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > filename_of_image_file< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > alt_description< / span > < span class = "plain" > = < < < / span > < span class = "identifier" > alttext< / span > < span class = "plain" > > > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > F_cover_art< / span > < span class = "plain" > = < / span > < span class = "identifier" > bf< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > LOGIF< / span > < span class = "plain" > (< / span > < span class = "identifier" > FIGURE_CREATIONS< / span > < span class = "plain" > , < / span > < span class = "string" > "Created figure < %W> = filename '%N' = resource ID %d\n"< / span > < span class = "plain" > ,< / span >
< span class = "identifier" > F< / span > < span class = "plain" > , < / span > < span class = "identifier" > wn< / span > < span class = "plain" > , < / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "identifier" > figure_number< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "identifier" > wchar_t< / span > < span class = "plain" > *< / span > < span class = "functiontext" > PL::Figures::description_of_cover_art< / span > < span class = "plain" > (< / span > < span class = "reserved" > void< / span > < span class = "plain" > ) {< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > ((< / span > < span class = "identifier" > F_cover_art< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) || (< / span > < span class = "identifier" > F_cover_art< / span > < span class = "plain" > -> < / span > < span class = "element" > alt_description< / span > < span class = "plain" > == -1)) < / span > < span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > L< / span > < span class = "string" > ""< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > Lexer::word_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > F_cover_art< / span > < span class = "plain" > -> < / span > < span class = "element" > alt_description< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function PL::Figures::register_figure is used in < a href = "#SP8" > § 8< / a > .< / p >
< p class = "endnote" > The function PL::Figures::description_of_cover_art appears nowhere else.< / p >
< p class = "inwebparagraph" > < a id = "SP12" > < / a > < b > § 12. Blurb and manifest. < / b > The picture manifest is used by the implementation of Glulx within the
Inform application to connect picture ID numbers with filenames relative
to the Materials folder for its project.
< / p >
< pre class = "display" >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > PL::Figures::write_picture_manifest< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUTPUT_STREAM< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > include_cover< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > char< / span > < span class = "plain" > *< / span > < span class = "identifier" > cover_art_format< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Plugins::Manage::plugged_in< / span > < span class = "plain" > (< / span > < span class = "identifier" > figures_plugin< / span > < span class = "plain" > ) == < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > ) < / span > < span class = "reserved" > return< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > blorb_figure< / span > < span class = "plain" > *< / span > < span class = "identifier" > bf< / span > < span class = "plain" > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< ?xml version=\"1.0\" encoding=\"UTF-8\"?> \n"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< !DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0< / span > < span class = "comment" > EN\" "< / span >
< span class = "string" > "< / span > < span class = "plain" > \< / span > < span class = "string" > "http:< / span > < span class = "comment" > www.apple.com/DTDs/PropertyList-1.0.dtd\"> \n");< / span >
< span class = "string" > WRITE("< / span > < span class = "plain" > < < / span > < span class = "identifier" > plist< / span > < span class = "plain" > < / span > < span class = "identifier" > version< / span > < span class = "plain" > =\< / span > < span class = "string" > "1.0\"> \n"< / span > < span class = "plain" > ); < / span > < span class = "identifier" > INDENT< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< dict> \n"< / span > < span class = "plain" > ); < / span > < span class = "identifier" > INDENT< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< key> Graphics< /key> \n"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< dict> \n"< / span > < span class = "plain" > ); < / span > < span class = "identifier" > INDENT< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > include_cover< / span > < span class = "plain" > ) {< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< key> 1< /key> \n"< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > filename< / span > < span class = "plain" > *< / span > < span class = "identifier" > large< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > strcmp< / span > < span class = "plain" > (< / span > < span class = "identifier" > cover_art_format< / span > < span class = "plain" > , < / span > < span class = "string" > "jpg"< / span > < span class = "plain" > ) == < / span > < span class = "constant" > 0< / span > < span class = "plain" > )< / span >
2020-02-27 03:43:11 +02:00
< span class = "identifier" > large< / span > < span class = "plain" > = < / span > < span class = "identifier" > Task::large_cover_art_file< / span > < span class = "plain" > (< / span > < span class = "identifier" > TRUE< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > else< / span >
2020-02-27 03:43:11 +02:00
< span class = "identifier" > large< / span > < span class = "plain" > = < / span > < span class = "identifier" > Task::large_cover_art_file< / span > < span class = "plain" > (< / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< string> %f< /string> \n"< / span > < span class = "plain" > , < / span > < span class = "identifier" > large< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "identifier" > LOOP_OVER< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > , < / span > < span class = "reserved" > blorb_figure< / span > < span class = "plain" > )< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > figure_number< / span > < span class = "plain" > > < / span > < span class = "constant" > 1< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< key> %d< /key> \n"< / span > < span class = "plain" > , < / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > figure_number< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > TEMPORARY_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > rel< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Filenames::to_text_relative< / span > < span class = "plain" > (< / span > < span class = "identifier" > rel< / span > < span class = "plain" > , < / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > filename_of_image_file< / span > < span class = "plain" > , < / span > < span class = "identifier" > Inbuild::materials< / span > < span class = "plain" > ());< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< string> %S< /string> \n"< / span > < span class = "plain" > , < / span > < span class = "identifier" > rel< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > DISCARD_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > rel< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > OUTDENT< / span > < span class = "plain" > ; < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< /dict> \n"< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "functiontext" > PL::Sounds::write_sounds_manifest< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > OUTDENT< / span > < span class = "plain" > ; < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< /dict> \n"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > OUTDENT< / span > < span class = "plain" > ; < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< /plist> \n"< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function PL::Figures::write_picture_manifest appears nowhere else.< / p >
< p class = "inwebparagraph" > < a id = "SP13" > < / a > < b > § 13. < / b > The following writes Blurb commands for all of the figures, but not for
the cover art, which is handled by Bibliographic Data.
< / p >
< pre class = "display" >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > PL::Figures::write_blurb_commands< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUTPUT_STREAM< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Plugins::Manage::plugged_in< / span > < span class = "plain" > (< / span > < span class = "identifier" > figures_plugin< / span > < span class = "plain" > ) == < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > ) < / span > < span class = "reserved" > return< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > blorb_figure< / span > < span class = "plain" > *< / span > < span class = "identifier" > bf< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > LOOP_OVER< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > , < / span > < span class = "reserved" > blorb_figure< / span > < span class = "plain" > )< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > figure_number< / span > < span class = "plain" > > < / span > < span class = "constant" > 1< / span > < span class = "plain" > ) {< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > wchar_t< / span > < span class = "plain" > *< / span > < span class = "identifier" > desc< / span > < span class = "plain" > = < / span > < span class = "identifier" > L< / span > < span class = "string" > ""< / span > < span class = "plain" > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > alt_description< / span > < span class = "plain" > > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > )< / span >
< span class = "identifier" > desc< / span > < span class = "plain" > = < / span > < span class = "identifier" > Lexer::word_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > alt_description< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Wide::len< / span > < span class = "plain" > (< / span > < span class = "identifier" > desc< / span > < span class = "plain" > ) > < / span > < span class = "constant" > 0< / span > < span class = "plain" > )< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "picture %d \"%f\" \"%N\"\n"< / span > < span class = "plain" > , < / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > figure_number< / span > < span class = "plain" > , < / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > filename_of_image_file< / span > < span class = "plain" > , < / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > alt_description< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > else< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "picture %d \"%f\"\n"< / span > < span class = "plain" > , < / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "identifier" > figure_number< / span > < span class = "plain" > , < / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > filename_of_image_file< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function PL::Figures::write_blurb_commands appears nowhere else.< / p >
< p class = "inwebparagraph" > < a id = "SP14" > < / a > < b > § 14. < / b > The following is used only with the "separate figures" release option.
< / p >
< pre class = "display" >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > PL::Figures::write_copy_commands< / span > < span class = "plain" > (< / span > < span class = "reserved" > void< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Plugins::Manage::plugged_in< / span > < span class = "plain" > (< / span > < span class = "identifier" > figures_plugin< / span > < span class = "plain" > ) == < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > ) < / span > < span class = "reserved" > return< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > blorb_figure< / span > < span class = "plain" > *< / span > < span class = "identifier" > bf< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > LOOP_OVER< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > , < / span > < span class = "reserved" > blorb_figure< / span > < span class = "plain" > )< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > figure_number< / span > < span class = "plain" > > < / span > < span class = "constant" > 1< / span > < span class = "plain" > )< / span >
< span class = "identifier" > PL::Bibliographic::Release::create_aux_file< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > filename_of_image_file< / span > < span class = "plain" > ,< / span >
2020-02-27 03:43:11 +02:00
< span class = "identifier" > Task::released_figures_path< / span > < span class = "plain" > (), < / span > < span class = "identifier" > L< / span > < span class = "string" > "--"< / span > < span class = "plain" > , < / span > < span class = "identifier" > SEPARATE_FIGURES_PAYLOAD< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function PL::Figures::write_copy_commands appears nowhere else.< / p >
< p class = "inwebparagraph" > < a id = "SP15" > < / a > < b > § 15. < / b > < / p >
< pre class = "display" >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > PL::Figures::compile_ResourceIDsOfFigures_array< / span > < span class = "plain" > (< / span > < span class = "reserved" > void< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Plugins::Manage::plugged_in< / span > < span class = "plain" > (< / span > < span class = "identifier" > figures_plugin< / span > < span class = "plain" > ) == < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > ) < / span > < span class = "reserved" > return< / span > < span class = "plain" > ;< / span >
2019-04-12 16:47:00 +03:00
< span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > iname< / span > < span class = "plain" > = < / span > < span class = "identifier" > Hierarchy::find< / span > < span class = "plain" > (< / span > < span class = "identifier" > RESOURCEIDSOFFIGURES_HL< / span > < span class = "plain" > );< / span >
2019-04-19 16:36:05 +03:00
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Emit::named_array_begin< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > , < / span > < span class = "identifier" > K_number< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > Emit::array_numeric_entry< / span > < span class = "plain" > (0);< / span >
< span class = "reserved" > blorb_figure< / span > < span class = "plain" > *< / span > < span class = "identifier" > bf< / span > < span class = "plain" > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > LOOP_OVER< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > , < / span > < span class = "reserved" > blorb_figure< / span > < span class = "plain" > ) < / span > < span class = "identifier" > Emit::array_numeric_entry< / span > < span class = "plain" > ((< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > ) < / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > figure_number< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > Emit::array_numeric_entry< / span > < span class = "plain" > (0);< / span >
2019-04-19 16:36:05 +03:00
< span class = "identifier" > Emit::array_end< / span > < span class = "plain" > (< / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function PL::Figures::compile_ResourceIDsOfFigures_array appears nowhere else.< / p >
< p class = "inwebparagraph" > < a id = "SP16" > < / a > < b > § 16. Thumbnail Index. < / b > The index is presented with thumbnails of a given pixel width, which
the HTML renderer automatically scales to fit. Height is adjusted so as
to match this width, preserving the aspect ratio.
< / p >
< pre class = "definitions" >
2020-04-07 03:06:09 +03:00
< span class = "definitionkeyword" > define< / span > < span class = "constant" > THUMBNAIL_WIDTH< / span > < span class = "plain" > < / span > < span class = "constant" > 80< / span >
2019-03-17 14:40:57 +02:00
< / pre >
< pre class = "display" >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > PL::Figures::index_all< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUTPUT_STREAM< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Plugins::Manage::plugged_in< / span > < span class = "plain" > (< / span > < span class = "identifier" > figures_plugin< / span > < span class = "plain" > ) == < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > ) < / span > < span class = "reserved" > return< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > blorb_figure< / span > < span class = "plain" > *< / span > < span class = "identifier" > bf< / span > < span class = "plain" > ; < / span > < span class = "reserved" > FILE< / span > < span class = "plain" > *< / span > < span class = "identifier" > FIGURE_FILE< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > MAX_INDEXED_FIGURES< / span > < span class = "plain" > = < / span > < span class = "identifier" > UseOptions::get_index_figure_thumbnails< / span > < span class = "plain" > ();< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > rv< / span > < span class = "plain" > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > NUMBER_CREATED< / span > < span class = "plain" > (< / span > < span class = "reserved" > blorb_figure< / span > < span class = "plain" > ) < < / span > < span class = "constant" > 2< / span > < span class = "plain" > ) { < / span > < span class = "comment" > cover art always creates 1< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "p"< / span > < span class = "plain" > ); < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "There are no figures, or illustrations, in this project."< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "p"< / span > < span class = "plain" > ); < / span > < span class = "reserved" > return< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "p"< / span > < span class = "plain" > ); < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< b> List of Figures< /b> "< / span > < span class = "plain" > ); < / span > < span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "p"< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > HTML::begin_html_table< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "#ffffff"< / span > < span class = "plain" > , < / span > < span class = "identifier" > TRUE< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > );< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > count_of_displayed_figures< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > LOOP_OVER< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > , < / span > < span class = "reserved" > blorb_figure< / span > < span class = "plain" > ) {< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > figure_number< / span > < span class = "plain" > > < / span > < span class = "constant" > 1< / span > < span class = "plain" > ) {< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > TEMPORARY_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > line2< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > unsigned< / span > < span class = "plain" > < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > width< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > height< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > rv< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > FIGURE_FILE< / span > < span class = "plain" > = < / span > < span class = "identifier" > Filenames::fopen< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > filename_of_image_file< / span > < span class = "plain" > , < / span > < span class = "string" > "rb"< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > FIGURE_FILE< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > char< / span > < span class = "plain" > *< / span > < span class = "identifier" > real_format< / span > < span class = "plain" > = < / span > < span class = "string" > "JPEG"< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > rv< / span > < span class = "plain" > = < / span > < span class = "identifier" > ImageFiles::get_JPEG_dimensions< / span > < span class = "plain" > (< / span > < span class = "identifier" > FIGURE_FILE< / span > < span class = "plain" > , & < / span > < span class = "identifier" > width< / span > < span class = "plain" > , & < / span > < span class = "identifier" > height< / span > < span class = "plain" > );< / span >
< span class = "identifier" > fclose< / span > < span class = "plain" > (< / span > < span class = "identifier" > FIGURE_FILE< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > rv< / span > < span class = "plain" > == < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > FIGURE_FILE< / span > < span class = "plain" > = < / span > < span class = "identifier" > Filenames::fopen< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > filename_of_image_file< / span > < span class = "plain" > , < / span > < span class = "string" > "rb"< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > FIGURE_FILE< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > real_format< / span > < span class = "plain" > = < / span > < span class = "string" > "PNG"< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > rv< / span > < span class = "plain" > = < / span > < span class = "identifier" > ImageFiles::get_PNG_dimensions< / span > < span class = "plain" > (< / span > < span class = "identifier" > FIGURE_FILE< / span > < span class = "plain" > , & < / span > < span class = "identifier" > width< / span > < span class = "plain" > , & < / span > < span class = "identifier" > height< / span > < span class = "plain" > );< / span >
< span class = "identifier" > fclose< / span > < span class = "plain" > (< / span > < span class = "identifier" > FIGURE_FILE< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > rv< / span > < span class = "plain" > == < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) {< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > WRITE_TO< / span > < span class = "plain" > (< / span > < span class = "identifier" > line2< / span > < span class = "plain" > , < / span > < span class = "string" > "< i> Unknown image format< /i> "< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_TAG< / span > < span class = "plain" > (< / span > < span class = "string" > "br"< / span > < span class = "plain" > );< / span >
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > {< / span >
< span class = "identifier" > WRITE_TO< / span > < span class = "plain" > (< / span > < span class = "identifier" > line2< / span > < span class = "plain" > , < / span > < span class = "string" > "%s format: %d (width) by %d (height) pixels"< / span > < span class = "plain" > ,< / span >
< span class = "identifier" > real_format< / span > < span class = "plain" > , < / span > < span class = "identifier" > width< / span > < span class = "plain" > , < / span > < span class = "identifier" > height< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_TAG< / span > < span class = "plain" > (< / span > < span class = "string" > "br"< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > {< / span >
< span class = "identifier" > WRITE_TO< / span > < span class = "plain" > (< / span > < span class = "identifier" > line2< / span > < span class = "plain" > , < / span > < span class = "string" > "< i> Missing from the Figures folder< /i> "< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_TAG< / span > < span class = "plain" > (< / span > < span class = "string" > "br"< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "identifier" > HTML::first_html_column< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "constant" > THUMBNAIL_WIDTH< / span > < span class = "plain" > +10);< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > rv< / span > < span class = "plain" > == < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > HTML_TAG_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "img"< / span > < span class = "plain" > , < / span > < span class = "string" > "border=\"0\" src=\"inform:/doc_images/image_problem.png\""< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "& nbsp;"< / span > < span class = "plain" > );< / span >
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > count_of_displayed_figures< / span > < span class = "plain" > ++ < < / span > < span class = "identifier" > MAX_INDEXED_FIGURES< / span > < span class = "plain" > ) {< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > HTML_TAG_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "img"< / span > < span class = "plain" > , < / span > < span class = "string" > "border=\"1\" src=\"file:< / span > < span class = "comment" > %f\" width=\"%d\" height=\"%d\"",< / span >
< span class = "string" > bf-> filename_of_image_file, THUMBNAIL_WIDTH, THUMBNAIL_WIDTH*height/width);< / span >
< span class = "string" > WRITE("< / span > < span class = "plain" > & < / span > < span class = "identifier" > nbsp< / span > < span class = "plain" > ;< / span > < span class = "string" > ");< / span >
< span class = "string" > } else {< / span >
< span class = "string" > HTML_OPEN_WITH("< / span > < span class = "identifier" > div< / span > < span class = "string" > ", "< / span > < span class = "identifier" > style< / span > < span class = "plain" > =\< / span > < span class = "string" > "width:%dpx; height:%dpx; border:1px solid; background-color:#6495ed;\""< / span > < span class = "plain" > ,< / span >
2019-03-17 14:40:57 +02:00
< span class = "constant" > THUMBNAIL_WIDTH< / span > < span class = "plain" > , < / span > < span class = "constant" > THUMBNAIL_WIDTH< / span > < span class = "plain" > *< / span > < span class = "identifier" > height< / span > < span class = "plain" > /< / span > < span class = "identifier" > width< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "& nbsp;"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "div"< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > HTML::next_html_column< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "%+W"< / span > < span class = "plain" > , < / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Index::link< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > Wordings::first_wn< / span > < span class = "plain" > (< / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > name< / span > < span class = "plain" > ));< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > TEMPORARY_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > rel< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Filenames::to_text_relative< / span > < span class = "plain" > (< / span > < span class = "identifier" > rel< / span > < span class = "plain" > , < / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > filename_of_image_file< / span > < span class = "plain" > , < / span > < span class = "identifier" > Inbuild::materials< / span > < span class = "plain" > ());< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > HTML_TAG< / span > < span class = "plain" > (< / span > < span class = "string" > "br"< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "%SFilename: \"%S\" - resource number %d"< / span > < span class = "plain" > , < / span > < span class = "identifier" > line2< / span > < span class = "plain" > , < / span > < span class = "identifier" > rel< / span > < span class = "plain" > , < / span > < span class = "identifier" > bf< / span > < span class = "plain" > -> < / span > < span class = "element" > figure_number< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > DISCARD_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > rel< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML::end_html_row< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "identifier" > DISCARD_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > line2< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< span class = "identifier" > HTML::end_html_table< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "p"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > count_of_displayed_figures< / span > < span class = "plain" > > < / span > < span class = "identifier" > MAX_INDEXED_FIGURES< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "(Only the first %d thumbnails have been shown here, "< / span >
< span class = "string" > "to avoid Inform taking up too much memory. If you'd like to "< / span >
< span class = "string" > "see more, set 'Use index figure thumbnails of at least %d.', or "< / span >
< span class = "string" > "whatever number you want to wait for.)"< / span > < span class = "plain" > ,< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > MAX_INDEXED_FIGURES< / span > < span class = "plain" > , < / span > < span class = "constant" > 10< / span > < span class = "plain" > *< / span > < span class = "identifier" > MAX_INDEXED_FIGURES< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "p"< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function PL::Figures::index_all appears nowhere else.< / p >
< hr class = "tocbar" >
< ul class = "toc" > < li > < i > (This section begins Chapter 2: Multimedia Features.)< / i > < / li > < li > < a href = "2-se.html" > Continue with 'Sound Effects'< / a > < / li > < / ul > < hr class = "tocbar" >
2019-04-22 17:42:10 +03:00
<!-- End of weave -->
2020-03-19 02:11:25 +02:00
< / main >
2019-03-17 14:40:57 +02:00
< / body >
< / html >