Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: ios/chrome/browser/ui/qr_scanner/qr_scanner_view.mm

Issue 2709943002: Make the QR Code scanner caption fit on multiple lines. (Closed)
Patch Set: AC Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "ios/chrome/browser/ui/qr_scanner/qr_scanner_view.h" 5 #import "ios/chrome/browser/ui/qr_scanner/qr_scanner_view.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/mac/foundation_util.h" 8 #include "base/mac/foundation_util.h"
9 #include "base/mac/scoped_nsobject.h" 9 #include "base/mac/scoped_nsobject.h"
10 #include "ios/chrome/browser/ui/icons/chrome_icon.h" 10 #include "ios/chrome/browser/ui/icons/chrome_icon.h"
(...skipping 23 matching lines...) Expand all
34 34
35 // Corner radius of the border around the viewport. 35 // Corner radius of the border around the viewport.
36 const CGFloat kViewportBorderCornerRadius = 2.0; 36 const CGFloat kViewportBorderCornerRadius = 2.0;
37 // Line width of the viewport border. 37 // Line width of the viewport border.
38 const CGFloat kViewportBorderLineWidth = 4.0; 38 const CGFloat kViewportBorderLineWidth = 4.0;
39 // Shadow opacity of the viewport border. 39 // Shadow opacity of the viewport border.
40 const CGFloat kViewportBorderShadowOpacity = 1.0; 40 const CGFloat kViewportBorderShadowOpacity = 1.0;
41 // Shadow radius of the viewport border. 41 // Shadow radius of the viewport border.
42 const CGFloat kViewportBorderShadowRadius = 10.0; 42 const CGFloat kViewportBorderShadowRadius = 10.0;
43 // Padding of the viewport caption, below the viewport. 43 // Padding of the viewport caption, below the viewport.
44 const CGFloat kViewportCaptionPadding = 24.0; 44 const CGFloat kViewportCaptionVerticalPadding = 14.0;
45 // Padding of the viewport caption from the edges of the superview.
46 const CGFloat kViewportCaptionHorizontalPadding = 20.0;
45 // Shadow opacity of the viewport caption. 47 // Shadow opacity of the viewport caption.
46 const CGFloat kViewportCaptionShadowOpacity = 1.0; 48 const CGFloat kViewportCaptionShadowOpacity = 1.0;
47 // Shadow radius of the viewport caption. 49 // Shadow radius of the viewport caption.
48 const CGFloat kViewportCaptionShadowRadius = 5.0; 50 const CGFloat kViewportCaptionShadowRadius = 5.0;
49 51
50 // Duration of the flash animation played when a code is scanned. 52 // Duration of the flash animation played when a code is scanned.
51 const CGFloat kFlashDuration = 0.5; 53 const CGFloat kFlashDuration = 0.5;
52 54
53 // Returns a square of size |rectSize| centered inside |frameSize|. 55 // Returns a square of size |rectSize| centered inside |frameSize|.
54 CGRect CenteredRectForViewport(CGSize frameSize, CGFloat rectSize) { 56 CGRect CenteredRectForViewport(CGSize frameSize, CGFloat rectSize) {
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 constant:-kButtonPadding], 465 constant:-kButtonPadding],
464 [[_torchButton bottomAnchor] constraintEqualToAnchor:[self bottomAnchor] 466 [[_torchButton bottomAnchor] constraintEqualToAnchor:[self bottomAnchor]
465 constant:-kButtonPadding] 467 constant:-kButtonPadding]
466 ]]; 468 ]];
467 } 469 }
468 470
469 - (void)addViewportCaptionLabel { 471 - (void)addViewportCaptionLabel {
470 UILabel* viewportCaption = [[[UILabel alloc] init] autorelease]; 472 UILabel* viewportCaption = [[[UILabel alloc] init] autorelease];
471 NSString* label = l10n_util::GetNSString(IDS_IOS_QR_SCANNER_VIEWPORT_CAPTION); 473 NSString* label = l10n_util::GetNSString(IDS_IOS_QR_SCANNER_VIEWPORT_CAPTION);
472 [viewportCaption setText:label]; 474 [viewportCaption setText:label];
475 [viewportCaption setNumberOfLines:0];
476 [viewportCaption setTextAlignment:NSTextAlignmentCenter];
473 [viewportCaption setAccessibilityLabel:label]; 477 [viewportCaption setAccessibilityLabel:label];
474 [viewportCaption setAccessibilityIdentifier:@"qr_scanner_viewport_caption"]; 478 [viewportCaption setAccessibilityIdentifier:@"qr_scanner_viewport_caption"];
475 [viewportCaption setTextColor:[UIColor whiteColor]]; 479 [viewportCaption setTextColor:[UIColor whiteColor]];
476 [viewportCaption.layer setShadowColor:[UIColor blackColor].CGColor]; 480 [viewportCaption.layer setShadowColor:[UIColor blackColor].CGColor];
477 [viewportCaption.layer setShadowOffset:CGSizeZero]; 481 [viewportCaption.layer setShadowOffset:CGSizeZero];
478 [viewportCaption.layer setShadowRadius:kViewportCaptionShadowRadius]; 482 [viewportCaption.layer setShadowRadius:kViewportCaptionShadowRadius];
479 [viewportCaption.layer setShadowOpacity:kViewportCaptionShadowOpacity]; 483 [viewportCaption.layer setShadowOpacity:kViewportCaptionShadowOpacity];
480 [viewportCaption.layer setMasksToBounds:NO]; 484 [viewportCaption.layer setMasksToBounds:NO];
481 [viewportCaption.layer setShouldRasterize:YES]; 485 [viewportCaption.layer setShouldRasterize:YES];
482 [self addSubview:viewportCaption]; 486 [self addSubview:viewportCaption];
483 487
484 // Constraints for viewportCaption. 488 // Constraints for viewportCaption.
485 [viewportCaption setTranslatesAutoresizingMaskIntoConstraints:NO]; 489 [viewportCaption setTranslatesAutoresizingMaskIntoConstraints:NO];
486 [NSLayoutConstraint activateConstraints:@[ 490 [NSLayoutConstraint activateConstraints:@[
487 [[viewportCaption centerXAnchor] 491 [[viewportCaption topAnchor]
488 constraintEqualToAnchor:[self centerXAnchor]],
489 [[viewportCaption centerYAnchor]
490 constraintEqualToAnchor:[self centerYAnchor] 492 constraintEqualToAnchor:[self centerYAnchor]
491 constant:GetViewportSize() / 2 + kViewportCaptionPadding] 493 constant:GetViewportSize() / 2 +
494 kViewportCaptionVerticalPadding],
495 [viewportCaption.leadingAnchor
496 constraintEqualToAnchor:self.leadingAnchor
497 constant:kViewportCaptionHorizontalPadding],
498 [viewportCaption.trailingAnchor
499 constraintEqualToAnchor:self.trailingAnchor
500 constant:-kViewportCaptionHorizontalPadding],
492 ]]; 501 ]];
493 } 502 }
494 503
495 - (void)setupPreviewView { 504 - (void)setupPreviewView {
496 DCHECK(!_previewView); 505 DCHECK(!_previewView);
497 _previewView.reset([[VideoPreviewView alloc] initWithFrame:self.frame]); 506 _previewView.reset([[VideoPreviewView alloc] initWithFrame:self.frame]);
498 [self insertSubview:_previewView atIndex:0]; 507 [self insertSubview:_previewView atIndex:0];
499 } 508 }
500 509
501 - (void)setupPreviewOverlayView { 510 - (void)setupPreviewOverlayView {
(...skipping 30 matching lines...) Expand all
532 [NSLayoutConstraint activateConstraints:@[ 541 [NSLayoutConstraint activateConstraints:@[
533 [[_previewOverlay centerXAnchor] 542 [[_previewOverlay centerXAnchor]
534 constraintEqualToAnchor:[self centerXAnchor]], 543 constraintEqualToAnchor:[self centerXAnchor]],
535 [[_previewOverlay centerYAnchor] 544 [[_previewOverlay centerYAnchor]
536 constraintEqualToAnchor:[self centerYAnchor]], 545 constraintEqualToAnchor:[self centerYAnchor]],
537 _overlaySquareConstraint, _overlayWidthConstraint, _overlayHeightConstraint 546 _overlaySquareConstraint, _overlayWidthConstraint, _overlayHeightConstraint
538 ]]; 547 ]];
539 } 548 }
540 549
541 @end 550 @end
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698