@@ -1903,37 +1903,39 @@ Pattern_images_item = class
19031903 text = String "Text to paint" "<i>Hello</i> world!";
19041904 font = Fontname "Use font" Workspaces.Preferences.PAINTBOX_FONT;
19051905 fontfile = Pathname "Font file" "";
1906- width = Expression "Text width" 500 ;
1906+ width = Expression "Text width" 0 ;
19071907 height = Expression "Text height" 0;
19081908 align = Option "Alignment" [
19091909 "Left",
19101910 "Centre",
19111911 "Right"
19121912 ] 0;
19131913 dpi = Expression "DPI" 300;
1914- spacing = Expression "Line spacing" 1.1;
1914+ fit = Toggle "Fit text to box" false;
1915+ spacing = Expression "Line spacing" 0;
19151916
19161917 _result
19171918 = Image out
19181919 {
1919- [out] = vips_call "text" [text.value]
1920- (base_options ++ fontfile_options);
1921-
19221920 base_options = [
19231921 $font => font.value,
1924- $width => to_real width,
1925- $height => to_real height,
1926- $align => align.value,
1927- $dpi => to_real dpi,
1928- $spacing => to_real spacing
1922+ $align => align.value
19291923 ];
1930-
1931- fontfile_options
1932- = [$fontfile => fontfile.value],
1933- fontfile.value != ""
1924+
1925+ set_option name default value
1926+ = [name => value], value != default
19341927 = [];
1935- }
19361928
1929+ options = base_options ++ concat [
1930+ set_option $width 0 (to_real width),
1931+ set_option $height 0 (to_real height),
1932+ set_option $fontfile "" fontfile.value,
1933+ if !fit then set_option $dpi 72 (to_real dpi) else [],
1934+ set_option $spacing 0 (to_real spacing)
1935+ ];
1936+
1937+ [out] = vips_call "text" [text.value] options;
1938+ }
19371939 }
19381940 }
19391941
@@ -1977,7 +1979,7 @@ Pattern_images_item = class
19771979 _result
19781980 = build param (to_real nsize)
19791981 {
1980- param f = f sense.value fc.value 0 0 0 0;
1982+ param f = f sense.value fc.value 0 0 0 0;
19811983 }
19821984 }
19831985 }
@@ -1998,7 +2000,7 @@ Pattern_images_item = class
19982000 _result
19992001 = build param (to_real nsize)
20002002 {
2001- param f = f (sense.value + 6) fc.value rw.value 0 0 0;
2003+ param f = f (sense.value + 6) fc.value rw.value 0 0 0;
20022004 }
20032005 }
20042006 }
@@ -2020,7 +2022,7 @@ Pattern_images_item = class
20202022 _result
20212023 = build param (to_real nsize)
20222024 {
2023- param f = f (sense.value + 12) fcx.value fcy.value
2025+ param f = f (sense.value + 12) fcx.value fcy.value
20242026 r.value 0 0;
20252027 }
20262028 }
@@ -2046,7 +2048,7 @@ Pattern_images_item = class
20462048 _result
20472049 = build param (to_real nsize)
20482050 {
2049- param f = f (sense.value + 4) fc.value ac.value 0 0 0;
2051+ param f = f (sense.value + 4) fc.value ac.value 0 0 0;
20502052 }
20512053 }
20522054 }
@@ -2068,7 +2070,7 @@ Pattern_images_item = class
20682070 _result
20692071 = build param (to_real nsize)
20702072 {
2071- param f = f (sense.value + 10) fc.value rw.value
2073+ param f = f (sense.value + 10) fc.value rw.value
20722074 ac.value 0 0;
20732075 }
20742076 }
@@ -2092,7 +2094,7 @@ Pattern_images_item = class
20922094 _result
20932095 = build param (to_real nsize)
20942096 {
2095- param f = f (sense.value + 16) fcx.value fcy.value
2097+ param f = f (sense.value + 16) fcx.value fcy.value
20962098 r.value ac.value 0;
20972099 }
20982100 }
@@ -2119,7 +2121,7 @@ Pattern_images_item = class
21192121 _result
21202122 = build param (to_real nsize)
21212123 {
2122- param f = f (sense.value + 2) order.value fc.value
2124+ param f = f (sense.value + 2) order.value fc.value
21232125 ac.value 0 0;
21242126 }
21252127 }
@@ -2143,8 +2145,8 @@ Pattern_images_item = class
21432145 _result
21442146 = build param (to_real nsize)
21452147 {
2146- param f = f (sense.value + 8) order.value fc.value
2147- rw.value ac.value 0;
2148+ param f = f (sense.value + 8) order.value fc.value
2149+ rw.value ac.value 0;
21482150 }
21492151 }
21502152 }
@@ -2168,8 +2170,8 @@ Pattern_images_item = class
21682170 _result
21692171 = build param (to_real nsize)
21702172 {
2171- param f = f (sense.value + 14) order.value fcx.value
2172- fcy.value r.value ac.value;
2173+ param f = f (sense.value + 14) order.value fcx.value
2174+ fcy.value r.value ac.value;
21732175 }
21742176 }
21752177 }
0 commit comments