From 9a910a50d53b7ea825cb57c2cb07493f5bb4d471 Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Wed, 15 Aug 2012 13:42:09 +0300 Subject: [PATCH] [ios] Correctly sized bookmarks popup, also made it transparent --- iphone/Maps/Bookmarks/BalloonView.h | 2 +- iphone/Maps/Bookmarks/BalloonView.mm | 76 +++++++++++++++++---- iphone/Maps/Bookmarks/arrow.png | Bin 0 -> 1724 bytes iphone/Maps/Bookmarks/arrow@2x.png | Bin 0 -> 3450 bytes iphone/Maps/Bookmarks/left.png | Bin 0 -> 541 bytes iphone/Maps/Bookmarks/left@2x.png | Bin 0 -> 982 bytes iphone/Maps/Bookmarks/middle.png | Bin 0 -> 168 bytes iphone/Maps/Bookmarks/middle@2x.png | Bin 0 -> 190 bytes iphone/Maps/Bookmarks/right.png | Bin 0 -> 457 bytes iphone/Maps/Bookmarks/right@2x.png | Bin 0 -> 902 bytes iphone/Maps/Bookmarks/tail.png | Bin 0 -> 719 bytes iphone/Maps/Bookmarks/tail@2x.png | Bin 0 -> 1249 bytes iphone/Maps/Maps.xcodeproj/project.pbxproj | 40 +++++++++++ 13 files changed, 103 insertions(+), 15 deletions(-) create mode 100644 iphone/Maps/Bookmarks/arrow.png create mode 100644 iphone/Maps/Bookmarks/arrow@2x.png create mode 100644 iphone/Maps/Bookmarks/left.png create mode 100644 iphone/Maps/Bookmarks/left@2x.png create mode 100644 iphone/Maps/Bookmarks/middle.png create mode 100644 iphone/Maps/Bookmarks/middle@2x.png create mode 100644 iphone/Maps/Bookmarks/right.png create mode 100644 iphone/Maps/Bookmarks/right@2x.png create mode 100644 iphone/Maps/Bookmarks/tail.png create mode 100644 iphone/Maps/Bookmarks/tail@2x.png diff --git a/iphone/Maps/Bookmarks/BalloonView.h b/iphone/Maps/Bookmarks/BalloonView.h index a55407fcbb..8ad9748d1b 100644 --- a/iphone/Maps/Bookmarks/BalloonView.h +++ b/iphone/Maps/Bookmarks/BalloonView.h @@ -4,7 +4,7 @@ @interface BalloonView : NSObject { - UITableViewCell * m_titleView; + UIImageView * m_titleView; id m_target; SEL m_selector; diff --git a/iphone/Maps/Bookmarks/BalloonView.mm b/iphone/Maps/Bookmarks/BalloonView.mm index 5c3f4121bb..23d60d742f 100644 --- a/iphone/Maps/Bookmarks/BalloonView.mm +++ b/iphone/Maps/Bookmarks/BalloonView.mm @@ -21,7 +21,6 @@ color = [[NSString alloc] initWithString:@"placemark-purple"]; setName = [[NSString alloc] initWithString:NSLocalizedString(@"my_places", @"Default bookmarks set name")]; pinImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:self.color]]; - m_titleView = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"BookmarkTitle"]; isDisplayed = NO; m_target = target; m_selector = selector; @@ -41,21 +40,69 @@ [super dealloc]; } +- (UIImage *)createPopupImageWithName:(NSString *)name andAddress:(NSString *)address +{ + UIImage * left = [UIImage imageNamed:@"left"]; + UIImage * right = [UIImage imageNamed:@"right"]; + UIImage * middle = [UIImage imageNamed:@"middle"]; + UIImage * tail = [UIImage imageNamed:@"tail"]; + UIImage * arrow = [UIImage imageNamed:@"arrow"]; + + // Calculate text width and height + UIFont * nameFont = [UIFont boldSystemFontOfSize:[UIFont buttonFontSize]]; + UIFont * addressFont = [UIFont systemFontOfSize:[UIFont systemFontSize]]; + + CGSize const defSize = CGSizeMake(arrow.size.width + tail.size.width + left.size.width + right.size.width, + tail.size.height); + CGSize const nameSize = name ? [name sizeWithFont:nameFont] : defSize; + CGSize const addressSize = address ? [address sizeWithFont:addressFont] : defSize; + + CGFloat const minScreenWidth = MIN([UIScreen mainScreen].applicationFrame.size.width, + [UIScreen mainScreen].applicationFrame.size.height); + + CGFloat const padding = 1.; + + // Generated image size + CGFloat const height = tail.size.height; + CGFloat const additionalPadding = padding * 3 + arrow.size.width + left.size.width + right.size.width; + CGFloat const width = MAX(MIN(minScreenWidth, nameSize.width + additionalPadding), + MIN(minScreenWidth, addressSize.width + additionalPadding)); + + UIGraphicsBeginImageContextWithOptions(CGSizeMake(width, height), NO, 0.0); + + // Draw background + [left drawAtPoint:CGPointMake(0, 0)]; + [right drawAtPoint:CGPointMake(width - right.size.width, 0)]; + CGFloat const tailStartsAt = (long)(width - tail.size.width) / 2; + [tail drawAtPoint:CGPointMake(tailStartsAt, 0)]; + [middle drawInRect:CGRectMake(left.size.width, 0, tailStartsAt - left.size.width, middle.size.height)]; + [middle drawInRect:CGRectMake(tailStartsAt + tail.size.width, 0, width - tailStartsAt - tail.size.width - right.size.width, middle.size.height)]; + + // Draw text + CGFloat const textW = width - left.size.width - right.size.width - arrow.size.width; + CGFloat const nameTextH = left.size.height / 2; + [[UIColor whiteColor] set]; + [name drawInRect:CGRectMake(left.size.width, nameTextH / 8, textW, nameTextH) withFont:nameFont lineBreakMode:UILineBreakModeTailTruncation]; + [[UIColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:1.0] set]; + [address drawInRect:CGRectMake(left.size.width, nameTextH - (nameTextH / 8), textW, nameTextH) withFont:addressFont lineBreakMode:UILineBreakModeTailTruncation]; + + // Draw Arrow image + CGFloat const arrowPadding = (left.size.height - arrow.size.height) / 2; + [arrow drawAtPoint:CGPointMake(width - arrow.size.width - arrowPadding, arrowPadding)]; + + UIImage * theImage = UIGraphicsGetImageFromCurrentImageContext(); + + UIGraphicsEndImageContext(); + // return the image + return theImage; +} + - (void) showButtonsInView:(UIView *)view atPoint:(CGPoint)pt { - m_titleView.textLabel.text = self.title; - m_titleView.textLabel.textColor = [UIColor whiteColor]; - m_titleView.detailTextLabel.text = self.description; - m_titleView.detailTextLabel.textColor = [UIColor whiteColor]; - m_titleView.accessoryType = UITableViewCellAccessoryDetailDisclosureButton; - m_titleView.backgroundColor = [UIColor blackColor]; - m_titleView.layer.cornerRadius = 10; -// m_titleView.alpha = 0.8; -// m_titleView.textLabel.backgroundColor = [UIColor clearColor]; -// m_titleView.detailTextLabel.backgroundColor = [UIColor clearColor]; - CGFloat const w = view.bounds.size.width - 30; - CGFloat const h = m_titleView.bounds.size.height; - m_titleView.frame = CGRectMake(pt.x - w/2, pt.y - h, w, h); + [m_titleView release]; + m_titleView = [[UIImageView alloc] initWithImage:[self createPopupImageWithName:self.title andAddress:self.description]]; + CGSize const s = m_titleView.bounds.size; + m_titleView.frame = CGRectMake(pt.x - s.width/2, pt.y - s.height, s.width, s.height); m_titleView.userInteractionEnabled = YES; UITapGestureRecognizer * recognizer = [[UITapGestureRecognizer alloc] @@ -132,4 +179,5 @@ color = newColor; self.pinImage.image = [UIImage imageNamed:newColor]; } + @end diff --git a/iphone/Maps/Bookmarks/arrow.png b/iphone/Maps/Bookmarks/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..9acd3c1e401daa7b9f80bce15c3a03410e8068c6 GIT binary patch literal 1724 zcmV;t21EIYP)^{;s+N7(iYn#X8xe`q_?-D|b9wE9r1JO@0#yf{5c12yF-P_{`A zD7=K%a|FrH;gCO?ToZ#-hlcZfX=&+6lvLB&y$I+2a6kZ;31~J>uLNeh09L06I1X{h zOuNy6-2M>U81X`?K?56%TFz)RR+W^LTy1M>n`1^7iX|}}BB89TEaMtBolckg>uonQ zciO`fd?@kQy#VBAB|t%DJhWV2g#5J$kb*=SK2mk{&!t1f76Z85?psMoNtM{;U}_iD z5_8NF6FWLO-ptO~6|A6}L&;xN+kF>iFev7X*b+1n6|N+f!r`YVRLd z3x~EQgK69cR)+w-K;-)@TIQ^4jFP|Z?!EnNY%w6wGw zd}tNBQmb0aqK$l7#fnMoL^Nd!q6-PI=n=t#cWIs%p!(fmF!j44B;QeB0E=@;<U{>(f=ld>kXEk2tT_D<6-ncV;0d`)qU*v5UyvdvZ;tOTqtQ|LJagvEpgMXf#B{4d zYisNH%*@PW@p?V1&xnuA^c15}ZLe%gf$zUsCcQEco0Qt)s1;p2N74@W^z_&nj~Go% z;mn6pU!j4cRgXkw58O0auYvc_Z`Gs?r(=`ScjJpj`TgwKvzKXaRmhZ-%7Uyp4UvN} zx?p5vupD9d)6GyVa z=kxjZ@892qMmvh#7P2>%B1KJ9T}7(b4h#$gu%7Z%R_-jS-I2ymV;UTs_RDudMC9MG zB&7^>=-D**^tCL&^+J7p{izEVF7)Bh48lqdg9wuHG%FN#ahMqwZ8n>|qM~BUp7M-% zO7IgHMCMTXpcq-lk@_n!TYYyl7j~Dd0jt&OsH>~{wxy-z1`bm(ILFeWPgM*?vM8)(lPcX(jtq+;xwDh_U`WPyG>0^ ze+~@|O|$!)WgrzhRnmqYRC7@lS;H(ngCU*u>D9qr<%%ArPCFyBuySJ&_$Oj%_3`OLa412eV!$JB;GHq1F6JsEhdorhWs1j`b@N3(QhUm0m{XRaKT! ztiK9w6~8VThIpohI0nT~Bo(;=K?#j3{mQKN-w9Nig;yO4R7pnqFaJ*e3NQeJD0M~h S%6^pq0000X0 literal 0 HcmV?d00001 diff --git a/iphone/Maps/Bookmarks/arrow@2x.png b/iphone/Maps/Bookmarks/arrow@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd720ee3969cc1b7934b386b06ed7148a7abfc1 GIT binary patch literal 3450 zcmV-=4TbWFP)VtpGQ^2~j>L z{TPIZho8WF7s8AsF(4%lu=Ilil_c#k1#BD`g+z_-S}ni;lr+9ei2xlpPz``0Lpt{J z$dMzZ_^B@{Dw>Jibd;aJsj2B3y!733&pj6@KtJ~x;DFz76PJNfuq-e=k`c*_WI;+p zny_cjo;%vx+y62;I{LK~Wh2j$KBO<q%jFe7Fb7TM6Ss_@>`@v#vo%+lTPKd z8x>d~%HI`p)l)JZK74rLqD6~#>GgUm-^uHj;NoQ$H1~Mme5(sa-GQ)!B%4IIW2zYn zCmNwN-wX!bSh0LQU*GZL$A7zY>C#&K>L#}+DUK_wqY`2SNt}Y|(xpqQOG-+%p$9ea zoep2J!^y@`=pFIJWj+0(MG;7wZy%ek`TChTlAd?y!8=omI zE`E;haHh!#UwrF;mL5++)=L3u_wMNym{XKA<~MXyub>P&@X{GASRodWIGbx{%$QNd zclh*z4L&+E5><>BtLOOHooP^UN9vgS_4W0e(W>5x7OXCU^U+f;Xa3-W4;Cz3xbSbv zhA*$1fCPKL9DAMa$3^@ESbFvvk;rcXLt=0vl zrKM*M95~RS5mAk4x-ffXFc?_1YSqmfHf;D8I-YdpK_d9BBLi^ydnb@MA{6;>j%_YK zwDx+SYse?xGZ_RRGKcHO(&aucv?1NjI4UyXg@uK8wYIi?eDUJN(MUiAjqeIbWh=3? zwY6=ZJb7{@``|y04Z>I7Il`KqABVOhNaB6V3zFcO3M)MFS{vkM8emeo9t?URCR1K8 z%>s`v&Q#sIa^=c_DO09AibXr>4^z7{HFRQDo zyTh5V5JH=T6LEK`Jv}|Uv$C=lD-SiI;4i(`9dY(Y(X^YpJ#Zg-&h3xosvSv-6CT*n z1~*SY%_4YXjGBGv7n9(YY-8|yZ*T9hi4!NT!%G`=PHtYSx-i;Is;a7*Sy55(Jgd$9 z{~5wH;|c3P2zQT9f}hV#hZid+jomBJbnnFpc;n~*Iv6w?qX43)PDsO%553!*qU0by zi^WnPisF&l+S)$qdHuXr#W3sBv|`1IO2im^rlHdfwe=2p?S-QNlGz}_?5Rm1wK4yLN5*xc@rWskf4NZL{=saW-}d4pzOYB&d<-kR~7Z(HWHvfqM_IR z-6snb5^P}-)NIIymToU}AXpcI^+(D3zs*h+FO+pTm(uC9fU=3R4D{ufUoJ75%|W{( zA>EO0?6@aNQImvR|61J($Lj21!Pfo}HQVck_Cb%lZTX_$O=RgFz8+?xtX3j3m%9eF zDr)SVMD<1tp69Uwoy8f%_#kE?Zgod>AABAWYyn*DK{Foog3BYxK}ICr=UUWSr7{~e z%vazws+g`JCnskH%jCPO?wHJ$CBpvIkNafP4+$1y+S(TiptFmtS#MNkOk`pkmD#|U zu1cd?rfb0cDUW5+fita?Q{o|knsH4eurE%9Zrqlxq8Yor0n}V*o)OqbWF zoM5M0= zHR}y+#@)kybzYmCJdsJrRT|ZECCOlNZ7>*ADTB=!I(a7h+A#j^M1Ukv2-iqp{@lJ! zInt?|pB@tI(P#5v>6R8qHi~kNsufW+t2nBoT6Z$psH*FbLHQj`#ovUk2&EfbYl(#l6g z=0+CAnmBh7nV*)C`i&CnWvVC${gUZ$O=?E6MK%5PAlSBBO@bw zQd3hWD2(R)xe5AgzNkU=jrhSqL2lVxm{5?`R6U$zCeCKF4Pa!n7B72{$XX>)iCrnL zh+MwxXDZ;nbLY;TW|==+o))zrqZq3?I^0lozct|?Nqh9J4Aplkt5>6fFXI!LwHaWt zbJD^4`s=SB!`N1B?Y_X$c2O+M2sF!E6xNV)g};wUsGk z`$7R_!TM+ik^{N6ZQJ${tJU9E+yuo;VJci%el3Q1(5BFPD+9Wd4waA{w z1bCpTx)W8s0@S^4-@c|3Cr*6L4z_1qo?N+$q*b!9^I*pVk`%Asc`^@ljCzP{L`Fqk zD!Z~)gV+SFUc?^LlhsbD#aV@gg?VSsp52^@O&OrJ-VVQcs{_GE5!Wjb?42hk%OT`b z@5BdECkpWQU+2Q&lIy2zgV@T-%Bq^1o7+jXhulIMVv5-wr6Q=)c%y{POXZXY`3dO0 zdzUX?K8K_=q{GxKBjj5R@-d+lL9=8o4*k!DWCtmZ7@3qrx3A2BirLpQM?bcW8#lgH zQ&ZDKw~`UMohWr(Z>YMiR=O4hd*;j;TTV`nA7?OFV!18X1h?lW!Dkn2a;Y+s8OM_d z5T~SneWiPxx> zR(VsF0q@_xzqPoySS&3qExsP`i}1^zWQ~{q)nHb0FEZ$sP!+0(&8f^U)-@{<2gW z^~QwKmn~aXuzUCJ75Vx3xmtpgD&1!n>~I{n7jjK%JS3-8K#??y93kE{-GXZ{MZVUo zG+e&iv2NYE{pfgFD8M1cWEHb@a(if4pdk;ODA-gAHeCU3G#b-(?AWnz_3G7kV^D2L zTMh)z#HCNWs`BvF7SvBBHSGFvRj!iUKy7(QYaQot z&70S(SyS}jgAY!hJ9lm|Zb>&q1Fo~Pv;Xwz)8C^<{r25=-)*7*oD__ml8w>gCiUL; zhTNx4o$70EZ+9@^r;E}k1?6BgI7%mg-7mv}j06-y6t@kGb`=dPq)dQ`l94GW^Cd{O z3gF|C2{!}C$!XBV?3MhQjO)!YEzOFI;6_HnW=7MjMvYwMoUJ2kCHo#uqfX}9#RTkL zE<*u`@E&ip@ih;YJz_LaKql^!J-*|Q2-rd#3)IVib#tFu0HXpK3s9{fLdR*?ph2wJ zh65Vl!1Cl{0P@?16pQc>2Vha-xKYPxP#0o-LWp(h=QQlsNTLI=02~icz8?=*>%Dq` zJE8=QGHa;!>3M)LgB%agNO7^iO#uJb5P-3N0SUm5;a?JQ@Jhu0Ud9dZMgUC&{~PvK ckN*oW0PmjUp$BejhyVZp07*qoM6N<$f_@x+#Q*>R literal 0 HcmV?d00001 diff --git a/iphone/Maps/Bookmarks/left.png b/iphone/Maps/Bookmarks/left.png new file mode 100644 index 0000000000000000000000000000000000000000..c7a334e27100e77210c32c565a63cad9c79ed4ff GIT binary patch literal 541 zcmV+&0^YR$= zjo_6qVK+k<>_!oU$=+i46h59;dx5zp*vG|2JI3tCTF)6LHEQQ7>~euWrO7YvelD71te_>5AOqCubULkCtyb*ydeg~d;zv=GsJs+d06jJujZ(kgpAUyaA6>Nk*Px_? zuZ0ltcs%yQF#HB75Zx>kBp%J@^Hm(jEDMwbvgL9a2SJcPW1Ad{xO&VB7QnKaq!lB~ z(J3pe4jSahP@6!t;cK^TAkPyzJrvtQr{K2GDY)~{EVpCs91+ar_^;5rb)3y+4DL!M zC^GK#9^8Xzi{Y5@Jm3^co*|{=n?O|z-(A-=9mf%Wfq1Onpniw8ZI?O!ZHndYfGRH5 zaTlJ8Tg$RcxV9hc$4W0iRnR%;40H*409}DI*6Bcjr=SXb5j+MRf*krkQQ#4UuaXp4 zqLPj22~IN|8m!Pntq6xOP6RD&Ax~d5U4Kj34ZNAW+ f6D929p8^a3yvNveUAse$00000NkvXXu0mjfWaagg literal 0 HcmV?d00001 diff --git a/iphone/Maps/Bookmarks/left@2x.png b/iphone/Maps/Bookmarks/left@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f114d1569564b32c0fe40328a3fd6166ede02fdd GIT binary patch literal 982 zcmV;{11bE8P)q0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#cu7P-RCwC#nL%$7K@`Vlc6JLC+9nte z9GV#QLQFK8w2?M#;-zh3Jo+&_dhjdwq5KG*)!4*Tl15rE>H=k%VSR6%!P#MF%fgxv zyD#~(u&}@V&wFncn585h)bd(wE1-v@#G#ZUH##mS`mnr8w6heghfhGjyfS!O}fy%8`t9E#JxKXdyonEgO^!t5& zb#*1i<8cIoAoxHnAXF3d2IL+c9c>*SA8($YpAWm;Zs7Yq4}xFFkqN&^5LP0n7e1X}}pEsHx7=t@N) z8#i1A$h4{xn4d&Wr-gvJ%P25+IIXgV31rHlK0mVp&6z?ZkSq#x3@r^bFAh}YFl!GI ztq9b(*yiFeH=y|)qpG~{kZ0WG>5%9S^BOYAqslX}vO^~SV#u*xT-_Y5bd_&#+k`8h z!|;Yxxp26=!#uBtkwf^$MBtB3W}riIj?}M!MWS$6I4m3%4hx5c!@}Wz>@W$)wPly3 zf%tRl7d{a}IF!;{9DYTIqtVD))M2Oz;{!ebu;h6j&11+PL1W+d*Id^vE$a}~2fdG~ z!}&(mJUW^)CH%+u4vP~6K^cJcEI?c@tdYO#ubvd1s0(@kzq3mK#eKthf$Jo`LhQ-s z1JF;brENinvC!6+Ty57E+j>v8F(Ss`w20LgGuT)7wzYID?b$ zL33@+kDoOtpeFQKibSNJqwXlW_efH`I#s$oqmKm|=|_?ceRfhJT3G6{83 zU{wEJHlemQvGwW{IM3~1$FfbDNp#*D)@h1;{|6H_V+Po~-c6?u8OIEGZ*N=isbh&UY-6r^o$o>8G z6C;1@%+N7;baiz&kB>ujraMPtNAwv7C*C8!Sd{KH?l`2-B%)#zf|u_vt@ PXexuJtDnm{r-UW|ZU8#d literal 0 HcmV?d00001 diff --git a/iphone/Maps/Bookmarks/middle@2x.png b/iphone/Maps/Bookmarks/middle@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..972ca755620d004f65e3bd51abe58806d445b834 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^s!3HFwG_!61DajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_d9MG2lRjv*Ddk`fXUB2F`?Nl8ohZ@jao^0V>j*VotA8~*+O ze}1FMqx<{oTaIWvd?cdm({SLKqHhd~;Pe@dEcP7+?1E|vPVy>(%t}oTEz%tum;|d7 loLF5vnmG~$4sr`5Fvx#c;v+XV%?@Z6gQu&X%Q~loCIHzMK5PI0 literal 0 HcmV?d00001 diff --git a/iphone/Maps/Bookmarks/right.png b/iphone/Maps/Bookmarks/right.png new file mode 100644 index 0000000000000000000000000000000000000000..a960378e9b00ee272499029f9cc6c2c183056ab6 GIT binary patch literal 457 zcmV;)0XF`LP)k zJ9q((-hlB|xEk-lcmu}7L}wNj4b)ED1*`CHlS>UDqw^x|U%WsyL4KF?Il4a1h8SO;oS zavXdJiPqmebgl)9q`LWx4N35fEql27cd8}j221CIQEUNiUmXchTeNTQ}X3wlICNn;uIr24QS1B_ng%6 zOjA$8?{wh>*CaWy8|+M)Pw+?`7KbQCybCY@+QQ9CE>7P^00000NkvXXu0mjfo<+uV literal 0 HcmV?d00001 diff --git a/iphone/Maps/Bookmarks/right@2x.png b/iphone/Maps/Bookmarks/right@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c60e221cb20b321cb942044e190a3fc62b024937 GIT binary patch literal 902 zcmV;119|+3P)2a)>YpioeRU`w$=es*_fXM8Vt6DO~eHpxWv zumfLa+MWH(_szWBHZM{L@kET;FVYXt8_);PfUX(V3;wfoK)m%q&pf^I@;oEBgI@fjvldyWJv+BD1rzQvsMbIXS_}cR*jr z;e{5%%KJlaa099+3X$izNz)WV)v!>ED}pl&V;A%aq%MG9)qURz1T_fV*w}~wD%$P# z3S3$PedO~a>tvdgQU;xEZ*Rx6H@IKxXaesi$tywDS+!aiiy1EBS9N26i3u`nQ z_Ox~xC`xeBtgT+JOA7B6fwax5xj;#h*x_|hg+O|4M^cXSutJUslAa614N^YgJ{60A zqyviWh9_F<5J!uh8gmqff`kVoLqHL^ix%A@>3}RO$dPm;mIaa_p-sGQLmW-G3dy6% z>8Ny6I=bSs`ywAbRVXN?z9U$YM*sBOF}k4H45pe7}d75qfz<*rBw&a)z}R#me7jAf!Nq{x|T9!j;lW}cmMzZ literal 0 HcmV?d00001 diff --git a/iphone/Maps/Bookmarks/tail.png b/iphone/Maps/Bookmarks/tail.png new file mode 100644 index 0000000000000000000000000000000000000000..403a790975c8b9c8fa7203897ad8f8dafd2e29f0 GIT binary patch literal 719 zcmV;=0x5)5U{#gDNSD;8p9J%HI2UNb>9s+`-&4+F3H8a&aXk;bMx=N9e#?splC-Od>*7{)M$F^pjhv(Lv)%7fCml(PH>W8bE9C@qb7uin5f^xEzAfF9I;WLZ|+ z5QGtTDQ_vc#=KJyPM9RglWw;=qMyIt0Ei*?D6c8}X`qlq^yM)nqx_~^QuwpW34wZX z91p2Nt37@MW=NOvigJc2@i&ZlL`iT$gTCz<#E|=xmwau?nzBN8j;PU`GWDzRW3M;X^RXM%G9K40dzp15rLN1014y;7gQ@FlZTaA)SfPjtsd(a-5fqF~l6IQz3zHMLsIXFGL_K=}3fub(~6} z+Qpz#fDQ??r~t*7i)F}9ROG5HrG=A6dYvO>Oi|j07&NE=F=Rk_zM&!lSpuRLi;K4W zWg4~#bVi_uola*|6om!}ge&qvO;%~mHptcWql%vI0-dI5%AiAl7;*r}F(5Nv$S#Zz z=!8H+t`L3aE&iFRNG*sDW*3N$uLR-A`bJe`UKiqvsR9L9fycP%$<8{f3z56_E`hyksi2Oi@zVQQ)Fr z7r&p!d><=E#=<=ls~$B8TzS-zk)-}@Q}o%e$uHMEUJ`eFOaA4#LXkePc>ZW;G zi0cGM$d+{`lgJc)BUTL!`4p~z06Phw@Pe8Nnn0yhTtH!n77-qh_On3qxL6H8gv&rh z5oSUZpa~l^Fd?knbRgOD_`8v5|h%wbGc`~;DzM5nrg{Pd;e}vP)Mt}^3hYJq37}^ z$qI+6oY?`VW~$ppDoF5sYHUjHD0(>Kq}>wso(K`0xj%%1cGagddYx>zvnYPe$qCM8 z`x9Mzcuv(;yEcf-vzvVB@ot`E$1@e{AM4J3JRyqheqXF###|${rzfTbmAsnrZujEH ztJ+Rlvus|L+--EEL8hbg`Ic{|Zakgi?qoWhd#hrzrfl!YKL?U`)h~B8$kuVb$2r00 zNQ2Y8d6HAI*X>&MLbt~Ms;UI%rt_N)vnvLkGfH(fxw&eeQsSb%DMI=)otaL$?&M)P zbs*3x-8OZq>4K)Woi)8->oS$Lh0kK|VcjVC>DWbUw!R0pt>5Qd-h005MBl_0%1f8m zC^4Gw&+t?bTJ&CHdU3Au!q&)#8Z!@VepTF9AQ9~)%`%yt<>s>a(d;eLd+%)Q+1lR{ zw&rQe1cgo5eT#SgayU0hX`%SD+QZXjPiXv>!QwJ{14 zA6qzI&CNYdWHmLcti1Y5^-)A@dRb@UYJHMp4 z@l4YtmY$lP&iN*Wn`;&O@>6n~&U9T;=}8j)vGB3A@49!4i;g+!H5qC5d}^4IleF&f zs>o=CG@V$6R{7wK`ODn%*PSc&E?aV5?t15qw?gXK%ug0+Y(AjDexiu=)P>?aH3<)4 zjm?LqBz@AGvTAeXL5EpRGuhhYw>(<<*y*9cKIit{W|Ph!akt7}o{uWlywCYzLe9uS>QneVRWbc;UU8XagDddwQE!W=XTC zm~?R;`<}bfW5JGskh9FM=emD9xI=Gu*ul&5GBZ;Ch$k>?-JbS*=lZK{z%q-$)78&q Iol`;+03E3@ApigX literal 0 HcmV?d00001 diff --git a/iphone/Maps/Maps.xcodeproj/project.pbxproj b/iphone/Maps/Maps.xcodeproj/project.pbxproj index bbabd5dc5e..36d5816463 100644 --- a/iphone/Maps/Maps.xcodeproj/project.pbxproj +++ b/iphone/Maps/Maps.xcodeproj/project.pbxproj @@ -175,6 +175,16 @@ FAA7A73514055351009F76D8 /* location-selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FAA7A73314055351009F76D8 /* location-selected@2x.png */; }; FAAFD697139D9BE2000AE70C /* categories.txt in Resources */ = {isa = PBXBuildFile; fileRef = FAAFD696139D9BE2000AE70C /* categories.txt */; }; FAAFD699139D9C6B000AE70C /* libsearch.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FAAFD698139D9C6B000AE70C /* libsearch.a */; }; + FAB2D51615DAB53F00C706C3 /* arrow.png in Resources */ = {isa = PBXBuildFile; fileRef = FAB2D50C15DAB53F00C706C3 /* arrow.png */; }; + FAB2D51715DAB53F00C706C3 /* arrow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FAB2D50D15DAB53F00C706C3 /* arrow@2x.png */; }; + FAB2D51815DAB53F00C706C3 /* left.png in Resources */ = {isa = PBXBuildFile; fileRef = FAB2D50E15DAB53F00C706C3 /* left.png */; }; + FAB2D51915DAB53F00C706C3 /* left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FAB2D50F15DAB53F00C706C3 /* left@2x.png */; }; + FAB2D51A15DAB53F00C706C3 /* middle.png in Resources */ = {isa = PBXBuildFile; fileRef = FAB2D51015DAB53F00C706C3 /* middle.png */; }; + FAB2D51B15DAB53F00C706C3 /* middle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FAB2D51115DAB53F00C706C3 /* middle@2x.png */; }; + FAB2D51C15DAB53F00C706C3 /* right.png in Resources */ = {isa = PBXBuildFile; fileRef = FAB2D51215DAB53F00C706C3 /* right.png */; }; + FAB2D51D15DAB53F00C706C3 /* right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FAB2D51315DAB53F00C706C3 /* right@2x.png */; }; + FAB2D51E15DAB53F00C706C3 /* tail.png in Resources */ = {isa = PBXBuildFile; fileRef = FAB2D51415DAB53F00C706C3 /* tail.png */; }; + FAB2D51F15DAB53F00C706C3 /* tail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FAB2D51515DAB53F00C706C3 /* tail@2x.png */; }; FABF223E13FAA97A003D4D49 /* CompassView.mm in Sources */ = {isa = PBXBuildFile; fileRef = FABF223D13FAA97A003D4D49 /* CompassView.mm */; }; FAD4906C13EFF61F005E7D43 /* search.png in Resources */ = {isa = PBXBuildFile; fileRef = FAD4906A13EFF61F005E7D43 /* search.png */; }; FAD4906D13EFF61F005E7D43 /* search@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FAD4906B13EFF61F005E7D43 /* search@2x.png */; }; @@ -1469,6 +1479,16 @@ FAAFD696139D9BE2000AE70C /* categories.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = categories.txt; path = ../../data/categories.txt; sourceTree = SOURCE_ROOT; }; FAAFD698139D9C6B000AE70C /* libsearch.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libsearch.a; sourceTree = SOURCE_ROOT; }; FAB09895148E2F1500892860 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + FAB2D50C15DAB53F00C706C3 /* arrow.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = arrow.png; path = Bookmarks/arrow.png; sourceTree = SOURCE_ROOT; }; + FAB2D50D15DAB53F00C706C3 /* arrow@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "arrow@2x.png"; path = "Bookmarks/arrow@2x.png"; sourceTree = SOURCE_ROOT; }; + FAB2D50E15DAB53F00C706C3 /* left.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = left.png; path = Bookmarks/left.png; sourceTree = SOURCE_ROOT; }; + FAB2D50F15DAB53F00C706C3 /* left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "left@2x.png"; path = "Bookmarks/left@2x.png"; sourceTree = SOURCE_ROOT; }; + FAB2D51015DAB53F00C706C3 /* middle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = middle.png; path = Bookmarks/middle.png; sourceTree = SOURCE_ROOT; }; + FAB2D51115DAB53F00C706C3 /* middle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "middle@2x.png"; path = "Bookmarks/middle@2x.png"; sourceTree = SOURCE_ROOT; }; + FAB2D51215DAB53F00C706C3 /* right.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = right.png; path = Bookmarks/right.png; sourceTree = SOURCE_ROOT; }; + FAB2D51315DAB53F00C706C3 /* right@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "right@2x.png"; path = "Bookmarks/right@2x.png"; sourceTree = SOURCE_ROOT; }; + FAB2D51415DAB53F00C706C3 /* tail.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = tail.png; path = Bookmarks/tail.png; sourceTree = SOURCE_ROOT; }; + FAB2D51515DAB53F00C706C3 /* tail@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "tail@2x.png"; path = "Bookmarks/tail@2x.png"; sourceTree = SOURCE_ROOT; }; FABF223C13FAA97A003D4D49 /* CompassView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompassView.h; sourceTree = ""; }; FABF223D13FAA97A003D4D49 /* CompassView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CompassView.mm; sourceTree = ""; }; FAD4906A13EFF61F005E7D43 /* search.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = search.png; sourceTree = ""; }; @@ -2300,6 +2320,16 @@ FA36B8171540466A004560CC /* Images */ = { isa = PBXGroup; children = ( + FAB2D50C15DAB53F00C706C3 /* arrow.png */, + FAB2D50D15DAB53F00C706C3 /* arrow@2x.png */, + FAB2D50E15DAB53F00C706C3 /* left.png */, + FAB2D50F15DAB53F00C706C3 /* left@2x.png */, + FAB2D51015DAB53F00C706C3 /* middle.png */, + FAB2D51115DAB53F00C706C3 /* middle@2x.png */, + FAB2D51215DAB53F00C706C3 /* right.png */, + FAB2D51315DAB53F00C706C3 /* right@2x.png */, + FAB2D51415DAB53F00C706C3 /* tail.png */, + FAB2D51515DAB53F00C706C3 /* tail@2x.png */, FA0545E0155C22D4001F4E37 /* placemark-blue.png */, FA0545E1155C22D4001F4E37 /* placemark-blue@2x.png */, FA0545E2155C22D4001F4E37 /* placemark-brown.png */, @@ -3555,6 +3585,16 @@ FA05460A155C22D4001F4E37 /* placemark-red@2x.png in Resources */, FA05460C155C22D4001F4E37 /* placemark-yellow.png in Resources */, FA05460E155C22D4001F4E37 /* placemark-yellow@2x.png in Resources */, + FAB2D51615DAB53F00C706C3 /* arrow.png in Resources */, + FAB2D51715DAB53F00C706C3 /* arrow@2x.png in Resources */, + FAB2D51815DAB53F00C706C3 /* left.png in Resources */, + FAB2D51915DAB53F00C706C3 /* left@2x.png in Resources */, + FAB2D51A15DAB53F00C706C3 /* middle.png in Resources */, + FAB2D51B15DAB53F00C706C3 /* middle@2x.png in Resources */, + FAB2D51C15DAB53F00C706C3 /* right.png in Resources */, + FAB2D51D15DAB53F00C706C3 /* right@2x.png in Resources */, + FAB2D51E15DAB53F00C706C3 /* tail.png in Resources */, + FAB2D51F15DAB53F00C706C3 /* tail@2x.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; };