]>
Commit | Line | Data |
---|---|---|
17854c1a JF |
1 | <html><head> |
2 | <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/> | |
3 | <style> | |
4 | * { | |
5 | border: 0; | |
6 | -moz-border-radius: 0; | |
7 | -webkit-border-radius: 0; | |
8 | box-sizing: border-box; | |
9 | -moz-box-sizing: border-box; | |
10 | -ms-box-sizing: border-box; | |
11 | -webkit-box-sizing: border-box; | |
12 | /*font-family: inherit;*/ | |
13 | font-size: 100%; | |
14 | font-style: inherit; | |
15 | font-weight: inherit; | |
16 | margin: 0; | |
17 | outline: 0; | |
18 | padding: 0; | |
19 | text-decoration: none; | |
20 | vertical-align: baseline; | |
21 | } | |
22 | ||
17f70613 JF |
23 | * { |
24 | -webkit-touch-callout: none; | |
25 | -webkit-text-size-adjust: none; | |
26 | -webkit-user-select: none; | |
27 | } | |
28 | ||
17854c1a JF |
29 | body { |
30 | color: white; | |
31 | } | |
32 | ||
33 | #lcd { | |
34 | background: url(cydget://_UIImageWithName/UILCDBackground.png); | |
babcd82f | 35 | width: 100%; |
17854c1a JF |
36 | } |
37 | ||
38 | #lcd h1 { | |
39 | font-family: "LockClock-Light"; | |
babcd82f | 40 | padding: 0px 0px 0px 1px; |
17854c1a JF |
41 | position: relative; |
42 | text-align: center; | |
43 | text-shadow: -0.5px -1px 1px black; | |
17854c1a JF |
44 | } |
45 | ||
46 | #lcd h2 { | |
47 | font-family: "Helvetica"; | |
17854c1a JF |
48 | position: relative; |
49 | text-align: center; | |
50 | text-shadow: -0.5px -1px 1px black; | |
babcd82f JF |
51 | } |
52 | ||
53 | @media only screen and (min-device-width: 320px) and (max-device-width: 480px) { | |
f2ad4cc0 JF |
54 | #lcd { |
55 | height: 96px; | |
56 | } | |
57 | ||
babcd82f JF |
58 | #lcd h1 { |
59 | font-size: 65px; | |
60 | top: -6px; | |
61 | } | |
62 | ||
63 | #lcd h2 { | |
64 | font-size: 17px; | |
65 | top: -16px; | |
66 | } | |
67 | } | |
68 | ||
69 | @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) { | |
f2ad4cc0 JF |
70 | #lcd { |
71 | background: url(file:///System/Library/PrivateFrameworks/TelephonyUI.framework/BarLCD.png); | |
72 | height: 96px; | |
73 | } | |
74 | ||
babcd82f JF |
75 | #lcd h1 { |
76 | font-size: 69px; | |
77 | top: -8px; | |
78 | } | |
79 | ||
80 | #lcd h2 { | |
81 | font-size: 16px; | |
82 | top: -18px; | |
83 | } | |
84 | } | |
85 | ||
86 | @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) { | |
87 | #lcd { | |
f2ad4cc0 | 88 | background: url(file:///System/Library/PrivateFrameworks/TelephonyUI.framework/BarLCD_T.png); |
babcd82f JF |
89 | height: 107px; |
90 | } | |
91 | ||
92 | #lcd h1 { | |
93 | font-size: 69px; | |
94 | top: -1px; | |
95 | } | |
96 | ||
97 | #lcd h2 { | |
98 | font-size: 16px; | |
99 | top: -8px; | |
100 | } | |
17854c1a JF |
101 | } |
102 | ||
103 | #content { | |
104 | font-family: "Helvetica"; | |
105 | min-height: 268px; | |
106 | text-align:center; | |
107 | } | |
108 | ||
109 | #content h3 { | |
110 | font-size: 20px; | |
111 | text-align: center; | |
112 | margin-bottom: 10px; | |
113 | } | |
114 | ||
115 | #content p { | |
116 | font-size: 14px; | |
117 | text-align: justify; | |
118 | margin: 10px 12px; | |
119 | } | |
120 | ||
121 | sup { | |
122 | font-size: smaller; | |
123 | position: relative; | |
124 | top: -5px; | |
125 | } | |
126 | ||
127 | #content img { | |
128 | margin: auto; | |
9a0e0f69 | 129 | max-width: 100%; |
17854c1a JF |
130 | vertical-align:middle; |
131 | } | |
9a0e0f69 | 132 | |
1ab860bb | 133 | @media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (device-height: 480px) { |
9a0e0f69 JF |
134 | #content img { |
135 | max-height: 268px; | |
136 | } | |
137 | } | |
138 | ||
1ab860bb JF |
139 | @media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (device-height: 568px) { |
140 | #content img { | |
141 | max-height: 356px; | |
142 | } | |
143 | } | |
144 | ||
9a0e0f69 JF |
145 | @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) { |
146 | #content img { | |
147 | max-height: 556px; | |
148 | } | |
149 | } | |
150 | ||
151 | @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) { | |
152 | #content img { | |
153 | max-height: 769px; | |
154 | } | |
155 | } | |
17854c1a | 156 | </style></head><body> |
89afbf46 JF |
157 | <div id="content"> |
158 | <script type="text/cycript" src="lcd.cy"></script> | |
89afbf46 | 159 | <script type="text/cycript"> |
17854c1a | 160 | dlopen("/System/Library/PrivateFrameworks/PhotoLibrary.framework/PhotoLibrary", RTLD_GLOBAL); |
a00c1c49 | 161 | |
e9ce9a89 | 162 | var version = [PLCameraAlbum respondsToSelector:@selector(sharedInstance)] ? 0 : 1; |
a00c1c49 JF |
163 | |
164 | var album; | |
e9ce9a89 | 165 | if (version == 0) |
a00c1c49 | 166 | album = [[PLCameraAlbum sharedInstance] images]; |
e9ce9a89 JF |
167 | else { |
168 | album = [[PLPhotoLibrary sharedPhotoLibrary] albums][0]; | |
169 | ||
170 | version = [album respondsToSelector:@selector(managedObjectContext)] ? 2 : 1; | |
171 | if (version == 1) | |
172 | album = album.contents; | |
173 | else { | |
174 | [album indexOfPosterImage]; | |
175 | [album entity]; | |
176 | album = album.managedObjectContext.registeredObjects.allObjects; | |
177 | } | |
178 | } | |
179 | ||
180 | var getImage = function(index) { | |
181 | var object = album[index]; | |
182 | ||
183 | if (version == 0) | |
184 | return [[object fileGroup] pathForFullSizeImage]; | |
185 | else if (version == 1) | |
186 | return '/var/mobile/Media/' + [object directory].toString() + '/' + [object filename].toString(); | |
b34f56ff JF |
187 | else if (version == 2) { |
188 | if ([object respondsToSelector:@selector(fileURLForLargeDisplayableImage)]) | |
189 | return [object fileURLForLargeDisplayableImage]; | |
190 | } | |
191 | ||
192 | return null; | |
e9ce9a89 | 193 | }; |
17854c1a JF |
194 | |
195 | var jpeg = null, length = album.length; | |
196 | for (var i = 0; i != 5; ++i) { | |
e9ce9a89 | 197 | jpeg = getImage(Math.floor(Math.random() * length)); |
17854c1a JF |
198 | if (jpeg != null) |
199 | break; | |
200 | } | |
201 | ||
202 | if (jpeg == null) | |
203 | for (var i = 0; i != length; ++i) { | |
e9ce9a89 | 204 | jpeg = getImage(i); |
17854c1a JF |
205 | if (jpeg != null) |
206 | break; | |
207 | } | |
208 | ||
e9ce9a89 JF |
209 | if (jpeg != null) |
210 | document.write('<img src="' + jpeg.toString() + '"/>'); | |
17854c1a JF |
211 | </script></div> |
212 | </body></html> |