99< a href =#9 id =9 data-nosnippet > 9</ a > < span class ="doccomment "> /// Creates a new [Image] view.
1010< a href =#10 id =10 data-nosnippet > 10</ a > </ span > < span class ="kw "> pub fn </ span > new<T: ToString>(cx: < span class ="kw-2 "> &mut </ span > Context, img: < span class ="kw "> impl </ span > Res<T>) -> Handle<< span class ="lifetime "> '_</ span > , < span class ="self "> Self</ span > > {
1111< a href =#11 id =11 data-nosnippet > 11</ a > < span class ="comment "> // TODO: Make this reactive
12- < a href =#12 id =12 data-nosnippet > 12</ a > </ span > < span class =" kw " > let </ span > img = BackgroundImage::Url(Url { url: img.get(cx).to_string().into() });
13- < a href =#13 id =13 data-nosnippet > 13</ a > < span class ="self "> Self </ span > {}.build(cx, |< span class ="kw "> _</ span > | {}).background_image (img)
14- < a href =#14 id =14 data-nosnippet > 14</ a > }
15- < a href =#15 id =15 data-nosnippet > 15</ a > }
16- < a href =#16 id =16 data-nosnippet > 16</ a >
17- < a href =#17 id =17 data-nosnippet > 17</ a > < span class =" kw " > impl </ span > View < span class =" kw " > for </ span > Image {
18- < a href =#18 id =18 data-nosnippet > 18</ a > < span class =" kw " > fn </ span > element( < span class =" kw-2 " > & </ span > < span class =" self " > self </ span > ) -> < span class =" prelude-ty " > Option </ span > < < span class =" kw-2 " > & </ span > < span class =" lifetime " > 'static </ span > str> {
19- < a href =#19 id =19 data-nosnippet > 19</ a > < span class =" prelude-val " > Some </ span > ( < span class =" string " > "image" </ span > )
20- < a href =#20 id =20 data-nosnippet > 20</ a > }
21- < a href =#21 id =21 data-nosnippet > 21</ a > }
22- < a href =#22 id =22 data-nosnippet > 22</ a >
23- < a href =#23 id =23 data-nosnippet > 23</ a > < span class =" doccomment " > /// A view which presents an SVG image.
24- < a href =#24 id =24 data-nosnippet > 24</ a > </ span > < span class =" kw " > pub struct </ span > Svg { }
12+ < a href =#12 id =12 data-nosnippet > 12</ a >
13+ < a href =#13 id =13 data-nosnippet > 13</ a > </ span > < span class ="self "> Self </ span > {}.build(cx, |< span class ="kw "> _</ span > | {}).bind (img, |handle, img| {
14+ < a href =#14 id =14 data-nosnippet > 14</ a > < span class =" kw " > let </ span > img = BackgroundImage::Url(Url { url: img.get( < span class =" kw-2 " > & </ span > handle).to_string().into() });
15+ < a href =#15 id =15 data-nosnippet > 15</ a > handle.background_image(img);
16+ < a href =#16 id =16 data-nosnippet > 16</ a > })
17+ < a href =#17 id =17 data-nosnippet > 17</ a > }
18+ < a href =#18 id =18 data-nosnippet > 18</ a > }
19+ < a href =#19 id =19 data-nosnippet > 19</ a >
20+ < a href =#20 id =20 data-nosnippet > 20</ a > < span class =" kw " > impl </ span > View < span class =" kw " > for </ span > Image {
21+ < a href =#21 id =21 data-nosnippet > 21</ a > < span class =" kw " > fn </ span > element( < span class =" kw-2 " > & </ span > < span class =" self " > self </ span > ) -> < span class =" prelude-ty " > Option </ span > < < span class =" kw-2 " > & </ span > < span class =" lifetime " > 'static </ span > str> {
22+ < a href =#22 id =22 data-nosnippet > 22</ a > < span class =" prelude-val " > Some </ span > ( < span class =" string " > "image" </ span > )
23+ < a href =#23 id =23 data-nosnippet > 23</ a > }
24+ < a href =#24 id =24 data-nosnippet > 24</ a > }
2525< a href =#25 id =25 data-nosnippet > 25</ a >
26- < a href =#26 id =26 data-nosnippet > 26</ a > < span class ="kw "> impl </ span > Svg {
27- < a href =#27 id =27 data-nosnippet > 27</ a > < span class ="doccomment "> /// Creates a new [Svg] view.
28- < a href =#28 id =28 data-nosnippet > 28</ a > </ span > < span class ="kw "> pub fn </ span > new<T>(cx: < span class ="kw-2 "> &mut </ span > Context, data: < span class ="kw "> impl </ span > Res<T>) -> Handle<< span class ="self "> Self</ span > >
29- < a href =#29 id =29 data-nosnippet > 29</ a > < span class ="kw "> where
30- < a href =#30 id =30 data-nosnippet > 30</ a > </ span > T: AsRef<[u8]> + < span class ="lifetime "> 'static</ span > ,
31- < a href =#31 id =31 data-nosnippet > 31</ a > {
32- < a href =#32 id =32 data-nosnippet > 32</ a > < span class ="self "> Self </ span > {}.build(cx, |< span class ="kw "> _</ span > | {}).bind(data, |< span class ="kw-2 "> mut </ span > handle, data| {
33- < a href =#33 id =33 data-nosnippet > 33</ a > < span class ="kw "> let </ span > svg_data = data.get(< span class ="kw-2 "> &</ span > handle);
34- < a href =#34 id =34 data-nosnippet > 34</ a > < span class ="kw "> let </ span > h = < span class ="macro "> format!</ span > (< span class ="string "> "{:x}"</ span > , fxhash::hash64(svg_data.as_ref()));
35- < a href =#35 id =35 data-nosnippet > 35</ a >
36- < a href =#36 id =36 data-nosnippet > 36</ a > handle.context().load_svg(
37- < a href =#37 id =37 data-nosnippet > 37</ a > < span class ="kw-2 "> &</ span > h,
38- < a href =#38 id =38 data-nosnippet > 38</ a > svg_data.as_ref(),
39- < a href =#39 id =39 data-nosnippet > 39</ a > ImageRetentionPolicy::DropWhenNoObservers,
40- < a href =#40 id =40 data-nosnippet > 40</ a > );
41- < a href =#41 id =41 data-nosnippet > 41</ a > handle.background_image(< span class ="macro "> format!</ span > (< span class ="string "> "'{}'"</ span > , h).as_str()).hoverable(< span class ="bool-val "> false</ span > );
42- < a href =#42 id =42 data-nosnippet > 42</ a > })
43- < a href =#43 id =43 data-nosnippet > 43</ a > }
44- < a href =#44 id =44 data-nosnippet > 44</ a > }
45- < a href =#45 id =45 data-nosnippet > 45</ a >
46- < a href =#46 id =46 data-nosnippet > 46</ a > < span class ="kw "> impl </ span > View < span class ="kw "> for </ span > Svg {
47- < a href =#47 id =47 data-nosnippet > 47</ a > < span class ="kw "> fn </ span > element(< span class ="kw-2 "> &</ span > < span class ="self "> self</ span > ) -> < span class ="prelude-ty "> Option</ span > << span class ="kw-2 "> &</ span > < span class ="lifetime "> 'static </ span > str> {
48- < a href =#48 id =48 data-nosnippet > 48</ a > < span class ="prelude-val "> Some</ span > (< span class ="string "> "svg"</ span > )
49- < a href =#49 id =49 data-nosnippet > 49</ a > }
50- < a href =#50 id =50 data-nosnippet > 50</ a > }</ code > </ pre > </ div > </ section > </ main > </ body > </ html >
26+ < a href =#26 id =26 data-nosnippet > 26</ a > < span class ="doccomment "> /// A view which presents an SVG image.
27+ < a href =#27 id =27 data-nosnippet > 27</ a > </ span > < span class ="kw "> pub struct </ span > Svg {}
28+ < a href =#28 id =28 data-nosnippet > 28</ a >
29+ < a href =#29 id =29 data-nosnippet > 29</ a > < span class ="kw "> impl </ span > Svg {
30+ < a href =#30 id =30 data-nosnippet > 30</ a > < span class ="doccomment "> /// Creates a new [Svg] view.
31+ < a href =#31 id =31 data-nosnippet > 31</ a > </ span > < span class ="kw "> pub fn </ span > new<T>(cx: < span class ="kw-2 "> &mut </ span > Context, data: < span class ="kw "> impl </ span > Res<T>) -> Handle<< span class ="self "> Self</ span > >
32+ < a href =#32 id =32 data-nosnippet > 32</ a > < span class ="kw "> where
33+ < a href =#33 id =33 data-nosnippet > 33</ a > </ span > T: AsRef<[u8]> + < span class ="lifetime "> 'static</ span > ,
34+ < a href =#34 id =34 data-nosnippet > 34</ a > {
35+ < a href =#35 id =35 data-nosnippet > 35</ a > < span class ="self "> Self </ span > {}.build(cx, |< span class ="kw "> _</ span > | {}).bind(data, |< span class ="kw-2 "> mut </ span > handle, data| {
36+ < a href =#36 id =36 data-nosnippet > 36</ a > < span class ="kw "> let </ span > svg_data = data.get(< span class ="kw-2 "> &</ span > handle);
37+ < a href =#37 id =37 data-nosnippet > 37</ a > < span class ="kw "> let </ span > h = < span class ="macro "> format!</ span > (< span class ="string "> "{:x}"</ span > , fxhash::hash64(svg_data.as_ref()));
38+ < a href =#38 id =38 data-nosnippet > 38</ a >
39+ < a href =#39 id =39 data-nosnippet > 39</ a > handle.context().load_svg(
40+ < a href =#40 id =40 data-nosnippet > 40</ a > < span class ="kw-2 "> &</ span > h,
41+ < a href =#41 id =41 data-nosnippet > 41</ a > svg_data.as_ref(),
42+ < a href =#42 id =42 data-nosnippet > 42</ a > ImageRetentionPolicy::DropWhenNoObservers,
43+ < a href =#43 id =43 data-nosnippet > 43</ a > );
44+ < a href =#44 id =44 data-nosnippet > 44</ a > handle.background_image(< span class ="macro "> format!</ span > (< span class ="string "> "'{}'"</ span > , h).as_str()).hoverable(< span class ="bool-val "> false</ span > );
45+ < a href =#45 id =45 data-nosnippet > 45</ a > })
46+ < a href =#46 id =46 data-nosnippet > 46</ a > }
47+ < a href =#47 id =47 data-nosnippet > 47</ a > }
48+ < a href =#48 id =48 data-nosnippet > 48</ a >
49+ < a href =#49 id =49 data-nosnippet > 49</ a > < span class ="kw "> impl </ span > View < span class ="kw "> for </ span > Svg {
50+ < a href =#50 id =50 data-nosnippet > 50</ a > < span class ="kw "> fn </ span > element(< span class ="kw-2 "> &</ span > < span class ="self "> self</ span > ) -> < span class ="prelude-ty "> Option</ span > << span class ="kw-2 "> &</ span > < span class ="lifetime "> 'static </ span > str> {
51+ < a href =#51 id =51 data-nosnippet > 51</ a > < span class ="prelude-val "> Some</ span > (< span class ="string "> "svg"</ span > )
52+ < a href =#52 id =52 data-nosnippet > 52</ a > }
53+ < a href =#53 id =53 data-nosnippet > 53</ a > }</ code > </ pre > </ div > </ section > </ main > </ body > </ html >
0 commit comments