]> git.saurik.com Git - cydget.git/blob - PhotoExample.cydget/index.html
Update PhotoExample image max-height for iPhone 5.
[cydget.git] / PhotoExample.cydget / index.html
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
23 * {
24 -webkit-touch-callout: none;
25 -webkit-text-size-adjust: none;
26 -webkit-user-select: none;
27 }
28
29 body {
30 color: white;
31 }
32
33 #lcd {
34 background: url(cydget://_UIImageWithName/UILCDBackground.png);
35 width: 100%;
36 }
37
38 #lcd h1 {
39 font-family: "LockClock-Light";
40 padding: 0px 0px 0px 1px;
41 position: relative;
42 text-align: center;
43 text-shadow: -0.5px -1px 1px black;
44 }
45
46 #lcd h2 {
47 font-family: "Helvetica";
48 position: relative;
49 text-align: center;
50 text-shadow: -0.5px -1px 1px black;
51 }
52
53 @media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
54 #lcd {
55 height: 96px;
56 }
57
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) {
70 #lcd {
71 background: url(file:///System/Library/PrivateFrameworks/TelephonyUI.framework/BarLCD.png);
72 height: 96px;
73 }
74
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 {
88 background: url(file:///System/Library/PrivateFrameworks/TelephonyUI.framework/BarLCD_T.png);
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 }
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;
129 max-width: 100%;
130 vertical-align:middle;
131 }
132
133 @media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (device-height: 480px) {
134 #content img {
135 max-height: 268px;
136 }
137 }
138
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
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 }
156 </style></head><body>
157 <div id="content">
158 <script type="text/cycript" src="lcd.cy"></script>
159 <script type="text/cycript">
160 dlopen("/System/Library/PrivateFrameworks/PhotoLibrary.framework/PhotoLibrary", RTLD_GLOBAL);
161
162 var version = [PLCameraAlbum respondsToSelector:@selector(sharedInstance)] ? 0 : 1;
163
164 var album;
165 if (version == 0)
166 album = [[PLCameraAlbum sharedInstance] images];
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();
187 else if (version == 2) {
188 if ([object respondsToSelector:@selector(fileURLForLargeDisplayableImage)])
189 return [object fileURLForLargeDisplayableImage];
190 }
191
192 return null;
193 };
194
195 var jpeg = null, length = album.length;
196 for (var i = 0; i != 5; ++i) {
197 jpeg = getImage(Math.floor(Math.random() * length));
198 if (jpeg != null)
199 break;
200 }
201
202 if (jpeg == null)
203 for (var i = 0; i != length; ++i) {
204 jpeg = getImage(i);
205 if (jpeg != null)
206 break;
207 }
208
209 if (jpeg != null)
210 document.write('<img src="' + jpeg.toString() + '"/>');
211 </script></div>
212 </body></html>