diff --git a/src/CurrentCallVC.mm b/src/CurrentCallVC.mm index d9ad8317c366a9e78431921322baf64a668406f2..ba5c5af792c8dabb871b8270ca56a17a35abb71e 100644 --- a/src/CurrentCallVC.mm +++ b/src/CurrentCallVC.mm @@ -66,6 +66,7 @@ extern "C" { // Header info @property (unsafe_unretained) IBOutlet NSView* headerContainer; +@property (unsafe_unretained) IBOutlet NSView* headerGradientView; @property (unsafe_unretained) IBOutlet NSTextField* timeSpentLabel; // info @@ -80,6 +81,7 @@ extern "C" { // Call Controls @property (unsafe_unretained) IBOutlet GradientView* controlsPanel; +@property (unsafe_unretained) IBOutlet NSStackView* controlsStackView; @property (unsafe_unretained) IBOutlet IconButton* holdOnOffButton; @property (unsafe_unretained) IBOutlet IconButton* hangUpButton; @@ -116,11 +118,10 @@ lrc::api::AVModel* mediaModel; NSInteger const PREVIEW_WIDTH = 185; NSInteger const PREVIEW_HEIGHT = 130; -NSInteger const HIDE_PREVIEW_BUTTON_MIN_SIZE = 25; -NSInteger const HIDE_PREVIEW_BUTTON_MAX_SIZE = 35; +NSInteger const HIDE_PREVIEW_BUTTON_SIZE = 25; NSInteger const PREVIEW_MARGIN = 20; -@synthesize holdOnOffButton, hangUpButton, recordOnOffButton, pickUpButton, chatButton, transferButton, addParticipantButton, timeSpentLabel, muteVideoButton, muteAudioButton, controlsPanel, headerContainer, videoView, previewView, splitView, loadingIndicator, backgroundImage, bluerBackgroundEffect, hidePreviewButton, hidePreviewBackground, movableBaseForView, infoContainer, contactPhoto, contactNameLabel, callStateLabel, contactIdLabel, cancelCallButton; +@synthesize holdOnOffButton, hangUpButton, recordOnOffButton, pickUpButton, chatButton, transferButton, addParticipantButton, timeSpentLabel, muteVideoButton, muteAudioButton, controlsPanel, headerContainer, videoView, previewView, splitView, loadingIndicator, backgroundImage, bluerBackgroundEffect, hidePreviewButton, hidePreviewBackground, movableBaseForView, infoContainer, contactPhoto, contactNameLabel, callStateLabel, contactIdLabel, cancelCallButton, headerGradientView, controlsStackView; @synthesize renderConnections; CVPixelBufferPoolRef pixelBufferPoolDistantView; @@ -172,7 +173,8 @@ CVPixelBufferRef pixelBufferPreview; movableBaseForView.frame = CGRectMake(previewOrigin.x, previewOrigin.y, PREVIEW_WIDTH, PREVIEW_HEIGHT); self.movableBaseForView.movable = true; previewView.frame = movableBaseForView.bounds; - hidePreviewBackground.frame = [self frameForExpendPreviewButton: false];; + hidePreviewBackground.frame = [self frameForExpendPreviewButton]; + hidePreviewButton.contentTintColor = [NSColor blackColor]; } - (void)awakeFromNib @@ -188,19 +190,25 @@ CVPixelBufferRef pixelBufferPreview; [loadingIndicator setInnerMargin:59]; [self.videoView setCallDelegate:self]; - CGColor* color = [[[NSColor blackColor] colorWithAlphaComponent:0.2] CGColor]; - [headerContainer.layer setBackgroundColor:color]; [bluerBackgroundEffect setWantsLayer:YES]; - bluerBackgroundEffect.alphaValue = 0.6; [backgroundImage setWantsLayer: YES]; backgroundImage.layer.contentsGravity = kCAGravityResizeAspectFill; movableBaseForView.wantsLayer = YES; - movableBaseForView.layer.cornerRadius = 4; - movableBaseForView.layer.masksToBounds = true; + movableBaseForView.shadow = [[NSShadow alloc] init]; + movableBaseForView.layer.shadowOpacity = 0.6; + movableBaseForView.layer.shadowColor = [[NSColor blackColor] CGColor]; + movableBaseForView.layer.shadowOffset = NSMakeSize(0, -3); + movableBaseForView.layer.shadowRadius = 10; + previewView.wantsLayer = YES; + previewView.layer.cornerRadius = 5; + previewView.layer.masksToBounds = true; + hidePreviewBackground.wantsLayer = YES; + hidePreviewBackground.layer.cornerRadius = 5; + hidePreviewBackground.layer.maskedCorners = kCALayerMinXMinYCorner; + hidePreviewBackground.layer.masksToBounds = true; movableBaseForView.hostingView = self.videoView; [movableBaseForView setAutoresizingMask: NSViewNotSizable | NSViewMaxXMargin | NSViewMaxYMargin | NSViewMinXMargin | NSViewMinYMargin]; [previewView setAutoresizingMask: NSViewNotSizable | NSViewMaxXMargin | NSViewMaxYMargin | NSViewMinXMargin | NSViewMinYMargin]; - [hidePreviewBackground setAutoresizingMask: NSViewNotSizable | NSViewMaxXMargin | NSViewMaxYMargin | NSViewMinXMargin | NSViewMinYMargin]; } -(void) updateDurationLabel @@ -279,7 +287,9 @@ CVPixelBufferRef pixelBufferPreview; case Status::INCOMING_RINGING: [infoContainer setHidden: NO]; [headerContainer setHidden:YES]; + [headerGradientView setHidden:YES]; [controlsPanel setHidden:YES]; + [controlsStackView setHidden:YES]; break; /*case Status::CONFERENCE: [self setupConference:currentCall]; @@ -287,7 +297,9 @@ CVPixelBufferRef pixelBufferPreview; case Status::PAUSED: [infoContainer setHidden: NO]; [headerContainer setHidden:NO]; + [headerGradientView setHidden:NO]; [controlsPanel setHidden:NO]; + [controlsStackView setHidden:NO]; [backgroundImage setHidden:NO]; [bluerBackgroundEffect setHidden:NO]; if(!currentCall.isAudioOnly) { @@ -309,7 +321,9 @@ CVPixelBufferRef pixelBufferPreview; break; case Status::IN_PROGRESS: [headerContainer setHidden:NO]; + [headerGradientView setHidden:NO]; [controlsPanel setHidden:NO]; + [controlsStackView setHidden:NO]; if(currentCall.isAudioOnly) { [self setUpAudioOnlyView]; } else { @@ -366,12 +380,12 @@ CVPixelBufferRef pixelBufferPreview; backgroundImage.layer.contents = bluredImage; [backgroundImage setHidden:NO]; } else { - contactNameLabel.textColor = [NSColor darkGrayColor]; - contactNameLabel.textColor = [NSColor darkGrayColor]; - contactIdLabel.textColor = [NSColor darkGrayColor]; - callStateLabel.textColor = [NSColor darkGrayColor]; + contactNameLabel.textColor = [NSColor textColor]; + contactNameLabel.textColor = [NSColor textColor]; + contactIdLabel.textColor = [NSColor textColor]; + callStateLabel.textColor = [NSColor textColor]; backgroundImage.layer.contents = nil; - [bluerBackgroundEffect setFillColor:[NSColor ringGreyHighlight]]; + [bluerBackgroundEffect setFillColor:[NSColor windowBackgroundColor]]; [bluerBackgroundEffect setAlphaValue:1]; [backgroundImage setHidden:YES]; } @@ -879,16 +893,16 @@ CVPixelBufferRef pixelBufferPreview; } - (IBAction)hidePreview:(id)sender { CGRect previewFrame = previewView.frame; - CGRect newPreviewFrame, bcHidePreviewFrame; - if (previewFrame.size.width > HIDE_PREVIEW_BUTTON_MAX_SIZE) { + CGRect newPreviewFrame;//, bcHidePreviewFrame; + if (previewFrame.size.width > HIDE_PREVIEW_BUTTON_SIZE) { self.movableBaseForView.movable = false; newPreviewFrame = self.getVideoPreviewCollapsedSize; - bcHidePreviewFrame = [self frameForExpendPreviewButton: true]; + // bcHidePreviewFrame = [self frameForExpendPreviewButton: true]; hidePreviewButton.image = [NSImage imageNamed: NSImageNameTouchBarEnterFullScreenTemplate]; } else { self.movableBaseForView.movable = true; newPreviewFrame = CGRectMake(0, 0, PREVIEW_WIDTH, PREVIEW_HEIGHT); - bcHidePreviewFrame = [self frameForExpendPreviewButton: false]; + // bcHidePreviewFrame = [self frameForExpendPreviewButton: false]; hidePreviewButton.image = [NSImage imageNamed: NSImageNameTouchBarExitFullScreenTemplate]; } [NSAnimationContext runAnimationGroup:^(NSAnimationContext * _Nonnull context) { @@ -896,7 +910,7 @@ CVPixelBufferRef pixelBufferPreview; context.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseOut]; previewView.animator.frame = newPreviewFrame; } completionHandler: nil]; - hidePreviewBackground.frame = bcHidePreviewFrame; + // hidePreviewBackground.frame = bcHidePreviewFrame; } #pragma mark - NSSplitViewDelegate @@ -935,8 +949,10 @@ CVPixelBufferRef pixelBufferPreview; -(void) mouseIsMoving:(BOOL) move { - [[controlsPanel animator] setAlphaValue:move]; // fade out + [[controlsPanel animator] setAlphaValue:move];// fade out + [[controlsStackView animator] setAlphaValue:move]; [[headerContainer animator] setAlphaValue:move]; + [[headerGradientView animator] setAlphaValue:move]; } - (BOOL)splitView:(NSSplitView *)splitView shouldHideDividerAtIndex:(NSInteger)dividerIndex @@ -968,26 +984,25 @@ CVPixelBufferRef pixelBufferPreview; CGPoint origin; switch (movableBaseForView.closestCorner) { case TOP_LEFT: - origin = CGPointMake(0, movableBaseForView.frame.size.height - HIDE_PREVIEW_BUTTON_MAX_SIZE); + origin = CGPointMake(0, movableBaseForView.frame.size.height - HIDE_PREVIEW_BUTTON_SIZE); break; case BOTTOM_LEFT: origin = CGPointMake(0, 0); break; case TOP_RIGHT: - origin = CGPointMake(movableBaseForView.frame.size.width - HIDE_PREVIEW_BUTTON_MAX_SIZE, movableBaseForView.frame.size.height - HIDE_PREVIEW_BUTTON_MAX_SIZE); + origin = CGPointMake(movableBaseForView.frame.size.width - HIDE_PREVIEW_BUTTON_SIZE, movableBaseForView.frame.size.height - HIDE_PREVIEW_BUTTON_SIZE); break; case BOTTOM_RIGHT: - origin = CGPointMake(movableBaseForView.frame.size.width - HIDE_PREVIEW_BUTTON_MAX_SIZE, 0); + origin = CGPointMake(movableBaseForView.frame.size.width - HIDE_PREVIEW_BUTTON_SIZE, 0); break; } - return CGRectMake(origin.x, origin.y, HIDE_PREVIEW_BUTTON_MAX_SIZE, HIDE_PREVIEW_BUTTON_MAX_SIZE); + return CGRectMake(origin.x, origin.y, HIDE_PREVIEW_BUTTON_SIZE, HIDE_PREVIEW_BUTTON_SIZE); } --(CGRect) frameForExpendPreviewButton:(BOOL)collapsed { - CGFloat size = collapsed ? HIDE_PREVIEW_BUTTON_MAX_SIZE : HIDE_PREVIEW_BUTTON_MIN_SIZE; - CGPoint origin = CGPointMake(self.previewView.frame.size.width - size, - self.previewView.frame.size.height - size); - return CGRectMake(origin.x, origin.y, size, size); +-(CGRect) frameForExpendPreviewButton { + CGPoint origin = CGPointMake(self.previewView.frame.size.width - HIDE_PREVIEW_BUTTON_SIZE, + self.previewView.frame.size.height - HIDE_PREVIEW_BUTTON_SIZE); + return CGRectMake(origin.x, origin.y, HIDE_PREVIEW_BUTTON_SIZE, HIDE_PREVIEW_BUTTON_SIZE); } @end diff --git a/src/views/GradientView.mm b/src/views/GradientView.mm index 33cf2591145fa8857e7e9940e9ef306ea1b325e1..ef0c114b3a323b947c4024d27aa9e130b3083ed6 100644 --- a/src/views/GradientView.mm +++ b/src/views/GradientView.mm @@ -34,12 +34,12 @@ [aGradient drawInRect: dirtyRect angle: angle]; } -- (nullable NSView *)hitTest:(NSPoint)point { - NSView *view = [super hitTest:point]; - if ([view isKindOfClass:[NSButton class]]) { - return view; - } - return nil; -} +//- (nullable NSView *)hitTest:(NSPoint)point { +// NSView *view = [super hitTest:point]; +// if ([view isKindOfClass:[NSButton class]]) { +// return view; +// } +// return nil; +//} @end diff --git a/src/views/MovableView.mm b/src/views/MovableView.mm index d440db7c0d250bf69d79df2b8c5b2ec09e0635b0..cf3bb51824748ba0aed2ab2cd2507dcb81b30ec4 100644 --- a/src/views/MovableView.mm +++ b/src/views/MovableView.mm @@ -66,58 +66,8 @@ BOOL movingToCorner; self.frame = CGRectMake(newOrigin.x, newOrigin.y, size.width, size.height); } -- (void)viewDidMoveToWindow { - [self.window setAcceptsMouseMovedEvents:YES]; - - NSTrackingAreaOptions options = (NSTrackingActiveAlways | NSTrackingInVisibleRect | NSTrackingMouseEnteredAndExited | NSTrackingMouseMoved); - - NSTrackingArea *area = [[NSTrackingArea alloc] initWithRect:self.frame - options:options - owner:self - userInfo:nil]; - - [self addTrackingArea:area]; -} - -- (void)mouseEntered:(NSEvent *)event { - if (!movable || movingFromCorner) { - return; - } - CGPoint currentOrigin = self.frame.origin; - CGPoint cornerPoint = [self pointForCorner: self.closestCorner]; - if (currentOrigin.x != cornerPoint.x || currentOrigin.y != cornerPoint.y) { - return; - } - movingFromCorner = true; - auto currentSize = self.frame.size; - CGPoint newOrigin = [self pointToMoveFromCorner: self.closestCorner]; - auto currentFrame = self.frame; - auto newFrame = currentFrame; - newFrame.origin = newOrigin; - [NSAnimationContext runAnimationGroup:^(NSAnimationContext * _Nonnull context) { - context.duration = 0.1f; - context.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseOut]; - self.animator.frame = newFrame; - } completionHandler:^{ - movingFromCorner = false; - }]; -} - -- (void)mouseExited:(NSEvent *)event { - if(movingToCorner) { - return; - } - CGPoint currentOrigin = self.frame.origin; - CGPoint cornerPoint = [self pointToMoveFromCorner: self.closestCorner]; - if ((currentOrigin.x != cornerPoint.x) || (currentOrigin.y != cornerPoint.y)) { - return; - } - movingToCorner = true; - [self moveToCornerWithDuration:0.1]; -} - - (void)mouseUp:(NSEvent *)event { - [self moveToCornerWithDuration:0.3]; + [self moveToCornerWithDuration:0.2]; } -(void) moveToCornerWithDuration:(CGFloat) duration { diff --git a/ui/Base.lproj/CurrentCall.xib b/ui/Base.lproj/CurrentCall.xib index 9c5883a133fbfaacaa0470e4db35aff633450afc..9e9900b19de9a4fe21752a033431478a626528f3 100644 --- a/ui/Base.lproj/CurrentCall.xib +++ b/ui/Base.lproj/CurrentCall.xib @@ -17,8 +17,10 @@ <outlet property="contactNameLabel" destination="Q9v-1a-PP9" id="OI5-VA-YeU"/> <outlet property="contactPhoto" destination="z3E-kv-Uwb" id="otV-zW-LCQ"/> <outlet property="controlsPanel" destination="wDi-X6-dgL" id="zs8-jw-wQ3"/> + <outlet property="controlsStackView" destination="Djs-L8-8Pe" id="Nsi-pe-3uh"/> <outlet property="hangUpButton" destination="Kjq-iM-NBL" id="Puz-4L-Okl"/> - <outlet property="headerContainer" destination="d0X-cW-Xgz" id="7RM-kh-vCm"/> + <outlet property="headerContainer" destination="DfH-di-xs7" id="gAV-d7-fNh"/> + <outlet property="headerGradientView" destination="d0X-cW-Xgz" id="5l9-Sl-TSk"/> <outlet property="hidePreviewBackground" destination="4xt-xs-LVn" id="7Y7-km-MhC"/> <outlet property="hidePreviewButton" destination="M9f-aD-4Bp" id="sC4-zK-ZQ9"/> <outlet property="holdOnOffButton" destination="anb-Y8-JQi" id="HSl-pE-Kwg"/> @@ -31,7 +33,7 @@ <outlet property="previewView" destination="6y6-RH-qOp" id="1PY-sd-mh4"/> <outlet property="recordOnOffButton" destination="QYT-0n-4sw" id="LpC-8i-BGz"/> <outlet property="splitView" destination="GIJ-gB-FZo" id="PM0-az-Q8X"/> - <outlet property="timeSpentLabel" destination="cIU-M7-xpN" id="9Rl-t3-gjY"/> + <outlet property="timeSpentLabel" destination="dl1-Gt-oz5" id="jdk-Ky-BG6"/> <outlet property="videoMTKView" destination="gQE-fN-JhY" id="qca-wq-idt"/> <outlet property="videoView" destination="2wf-Py-l6B" id="dEF-Gx-w6x"/> <outlet property="view" destination="Hz6-mo-xeY" id="VKn-lN-ijP"/> @@ -216,6 +218,59 @@ <customView translatesAutoresizingMaskIntoConstraints="NO" id="gQE-fN-JhY" customClass="CallMTKView"> <rect key="frame" x="0.0" y="0.0" width="746" height="805"/> </customView> + <customView translatesAutoresizingMaskIntoConstraints="NO" id="d0X-cW-Xgz" customClass="GradientView"> + <rect key="frame" x="0.0" y="733" width="746" height="72"/> + <subviews> + <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cIU-M7-xpN"> + <rect key="frame" x="624" y="24" width="104" height="24"/> + <constraints> + <constraint firstAttribute="width" constant="100" id="9vz-kb-6L6"/> + </constraints> + <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" id="zsO-T7-9yi"> + <font key="font" size="20" name="HelveticaNeue"/> + <color key="textColor" name="alternateSelectedControlTextColor" catalog="System" colorSpace="catalog"/> + <color key="backgroundColor" name="highlightColor" catalog="System" colorSpace="catalog"/> + </textFieldCell> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="string" keyPath="layer.cornerRadius" value="15"/> + </userDefinedRuntimeAttributes> + </textField> + </subviews> + <constraints> + <constraint firstItem="cIU-M7-xpN" firstAttribute="top" secondItem="d0X-cW-Xgz" secondAttribute="top" constant="24" id="Qc7-qp-qSV"/> + <constraint firstAttribute="trailing" secondItem="cIU-M7-xpN" secondAttribute="trailing" constant="20" id="RXf-xZ-4f9"/> + <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="568" id="Xeq-Aa-f1W"/> + <constraint firstAttribute="centerY" secondItem="cIU-M7-xpN" secondAttribute="centerY" id="yvc-8B-cEu"/> + </constraints> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="angle"> + <integer key="value" value="270"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="startingColor"> + <color key="value" white="0.0" alpha="0.84999999999999998" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="endingColor"> + <color key="value" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </customView> + <customView translatesAutoresizingMaskIntoConstraints="NO" id="wDi-X6-dgL" customClass="GradientView"> + <rect key="frame" x="0.0" y="0.0" width="746" height="80"/> + <constraints> + <constraint firstAttribute="height" constant="80" id="5eV-Zj-LpN"/> + </constraints> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="color" keyPath="startingColor"> + <color key="value" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="displayP3"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="endingColor"> + <color key="value" white="0.0" alpha="0.84999999999999998" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="number" keyPath="angle"> + <integer key="value" value="270"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + </customView> <customView autoresizesSubviews="NO" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lgD-oV-ZDp" customClass="MovableView"> <rect key="frame" x="550" y="20" width="175" height="120"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> @@ -224,9 +279,9 @@ <rect key="frame" x="0.0" y="0.0" width="175" height="120"/> <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" heightSizable="YES" flexibleMaxY="YES"/> <subviews> - <box autoresizesSubviews="NO" fixedFrame="YES" boxType="custom" borderType="none" cornerRadius="3" title="Box" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="4xt-xs-LVn"> + <box autoresizesSubviews="NO" fixedFrame="YES" boxType="custom" borderType="none" title="Box" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="4xt-xs-LVn"> <rect key="frame" x="150" y="95" width="25" height="25"/> - <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMinY="YES" heightSizable="YES"/> + <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/> <view key="contentView" id="hya-Xj-6pU"> <rect key="frame" x="0.0" y="0.0" width="25" height="25"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> @@ -249,21 +304,21 @@ <constraint firstItem="M9f-aD-4Bp" firstAttribute="leading" secondItem="hya-Xj-6pU" secondAttribute="leading" id="MCA-cM-aSb"/> </constraints> </view> - <color key="fillColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + <color key="fillColor" red="0.99999600649999998" green="1" blue="1" alpha="0.32341609589041098" colorSpace="custom" customColorSpace="sRGB"/> </box> </subviews> </customView> </subviews> </customView> - <customView translatesAutoresizingMaskIntoConstraints="NO" id="d0X-cW-Xgz" customClass="GradientView"> + <customView translatesAutoresizingMaskIntoConstraints="NO" id="DfH-di-xs7" customClass="GradientView"> <rect key="frame" x="0.0" y="733" width="746" height="72"/> <subviews> - <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cIU-M7-xpN"> + <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dl1-Gt-oz5"> <rect key="frame" x="624" y="24" width="104" height="24"/> <constraints> - <constraint firstAttribute="width" constant="100" id="9vz-kb-6L6"/> + <constraint firstAttribute="width" constant="100" id="zSV-0S-PdC"/> </constraints> - <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" id="zsO-T7-9yi"> + <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" id="viR-W9-vvE"> <font key="font" size="20" name="HelveticaNeue"/> <color key="textColor" name="alternateSelectedControlTextColor" catalog="System" colorSpace="catalog"/> <color key="backgroundColor" name="highlightColor" catalog="System" colorSpace="catalog"/> @@ -274,288 +329,273 @@ </textField> </subviews> <constraints> - <constraint firstItem="cIU-M7-xpN" firstAttribute="top" secondItem="d0X-cW-Xgz" secondAttribute="top" constant="24" id="Qc7-qp-qSV"/> - <constraint firstAttribute="trailing" secondItem="cIU-M7-xpN" secondAttribute="trailing" constant="20" id="RXf-xZ-4f9"/> - <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="568" id="Xeq-Aa-f1W"/> - <constraint firstAttribute="centerY" secondItem="cIU-M7-xpN" secondAttribute="centerY" id="yvc-8B-cEu"/> + <constraint firstItem="dl1-Gt-oz5" firstAttribute="top" secondItem="DfH-di-xs7" secondAttribute="top" constant="24" id="jBJ-hd-4eb"/> + <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="568" id="mkX-93-rYz"/> + <constraint firstAttribute="centerY" secondItem="dl1-Gt-oz5" secondAttribute="centerY" id="wah-6d-tYK"/> + <constraint firstAttribute="trailing" secondItem="dl1-Gt-oz5" secondAttribute="trailing" constant="20" id="y1H-9F-3NS"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="number" keyPath="angle"> <integer key="value" value="270"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="color" keyPath="startingColor"> - <color key="value" white="0.0" alpha="0.84999999999999998" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> + <color key="value" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="color" keyPath="endingColor"> <color key="value" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </customView> - <customView translatesAutoresizingMaskIntoConstraints="NO" id="wDi-X6-dgL" customClass="GradientView"> - <rect key="frame" x="0.0" y="0.0" width="746" height="80"/> + <stackView distribution="fill" orientation="horizontal" alignment="top" spacing="0.0" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Djs-L8-8Pe" userLabel="Controls"> + <rect key="frame" x="241" y="20" width="264" height="44"/> <subviews> - <stackView distribution="fill" orientation="horizontal" alignment="top" spacing="0.0" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Djs-L8-8Pe" userLabel="Controls"> - <rect key="frame" x="241" y="20" width="264" height="44"/> - <subviews> - <button toolTip="Mute Audio" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tQl-cT-0Lb" userLabel="Mute Audio" customClass="HoverButton"> - <rect key="frame" x="0.0" y="0.0" width="44" height="44"/> - <constraints> - <constraint firstAttribute="width" constant="44" id="VhT-NE-Ler"/> - <constraint firstAttribute="height" constant="44" id="WFp-nl-egQ"/> - </constraints> - <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ic_action_audio" imagePosition="overlaps" alignment="center" transparent="YES" imageScaling="proportionallyDown" id="7wg-Q4-mbD"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <userDefinedRuntimeAttributes> - <userDefinedRuntimeAttribute type="number" keyPath="imageInsets"> - <integer key="value" value="6"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="hoverColor"> - <color key="value" red="0.12894672927461137" green="0.12894672927461137" blue="0.12894672927461137" alpha="0.0" colorSpace="custom" customColorSpace="displayP3"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="moiuseOutsideImageColor"> - <color key="value" red="0.84313725490196079" green="0.84313725490196079" blue="0.84313725490196079" alpha="1" colorSpace="calibratedRGB"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="imageHoverColor"> - <color key="value" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnHover"> - <integer key="value" value="4"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnClick"> - <integer key="value" value="4"/> - </userDefinedRuntimeAttribute> - </userDefinedRuntimeAttributes> - <connections> - <action selector="muteAudio:" target="-2" id="DBk-mG-FLj"/> - </connections> - </button> - <button toolTip="Mute Video" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="LVS-yZ-98V" userLabel="Mute Video" customClass="HoverButton"> - <rect key="frame" x="44" y="0.0" width="44" height="44"/> - <constraints> - <constraint firstAttribute="height" constant="44" id="Qiq-Nb-gHN"/> - <constraint firstAttribute="width" constant="44" id="k3u-dD-eLF"/> - </constraints> - <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ic_action_video" imagePosition="overlaps" alignment="center" transparent="YES" imageScaling="proportionallyDown" id="sSe-V6-C7i"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <userDefinedRuntimeAttributes> - <userDefinedRuntimeAttribute type="number" keyPath="imageInsets"> - <integer key="value" value="6"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="moiuseOutsideImageColor"> - <color key="value" red="0.84313725490196079" green="0.84313725490196079" blue="0.84313725490196079" alpha="1" colorSpace="calibratedRGB"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="hoverColor"> - <color key="value" red="0.12941176470588234" green="0.12941176470588234" blue="0.12941176470588234" alpha="0.0" colorSpace="custom" customColorSpace="displayP3"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="imageHoverColor"> - <color key="value" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnHover"> - <integer key="value" value="4"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnClick"> - <integer key="value" value="4"/> - </userDefinedRuntimeAttribute> - </userDefinedRuntimeAttributes> - <connections> - <action selector="muteVideo:" target="-2" id="a6W-aB-zWX"/> - </connections> - </button> - <button toolTip="Hold" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="anb-Y8-JQi" userLabel="Hold" customClass="HoverButton"> - <rect key="frame" x="88" y="0.0" width="44" height="44"/> - <constraints> - <constraint firstAttribute="width" constant="44" id="QlH-xq-7uO"/> - <constraint firstAttribute="height" constant="44" id="Xzt-L0-evm"/> - </constraints> - <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ic_action_hold" imagePosition="overlaps" alignment="center" transparent="YES" imageScaling="proportionallyDown" id="7w5-d1-mNe"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <userDefinedRuntimeAttributes> - <userDefinedRuntimeAttribute type="number" keyPath="imageInsets"> - <integer key="value" value="6"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="moiuseOutsideImageColor"> - <color key="value" red="0.84313725490196079" green="0.84313725490196079" blue="0.84313725490196079" alpha="1" colorSpace="calibratedRGB"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="hoverColor"> - <color key="value" red="0.12941176470588234" green="0.12941176470588234" blue="0.12941176470588234" alpha="0.0" colorSpace="custom" customColorSpace="displayP3"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="imageHoverColor"> - <color key="value" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnHover"> - <integer key="value" value="4"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnClick"> - <integer key="value" value="4"/> - </userDefinedRuntimeAttribute> - </userDefinedRuntimeAttributes> - <connections> - <action selector="toggleHold:" target="-2" id="O18-nN-hHE"/> - </connections> - </button> - <button toolTip="Hang up" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Kjq-iM-NBL" userLabel="Hang Up" customClass="HoverButton"> - <rect key="frame" x="132" y="0.0" width="44" height="44"/> - <constraints> - <constraint firstAttribute="width" constant="44" id="MYx-uE-Bej"/> - <constraint firstAttribute="height" constant="44" id="dmD-ga-Kwv"/> - </constraints> - <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ic_action_hangup" imagePosition="overlaps" alignment="center" transparent="YES" imageScaling="proportionallyDown" id="kR5-bV-2KY"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <userDefinedRuntimeAttributes> - <userDefinedRuntimeAttribute type="number" keyPath="imageInsets"> - <integer key="value" value="6"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="moiuseOutsideImageColor"> - <color key="value" red="0.84313725490196079" green="0.84313725490196079" blue="0.84313725490196079" alpha="1" colorSpace="calibratedRGB"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="hoverColor"> - <color key="value" red="0.12941176470588234" green="0.12941176470588234" blue="0.12941176470588234" alpha="0.0" colorSpace="custom" customColorSpace="displayP3"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="imageHoverColor"> - <color key="value" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnHover"> - <integer key="value" value="4"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnClick"> - <integer key="value" value="4"/> - </userDefinedRuntimeAttribute> - </userDefinedRuntimeAttributes> - <connections> - <action selector="hangUp:" target="-2" id="1Fj-b8-nfh"/> - </connections> - </button> - <button toolTip="Record" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QYT-0n-4sw" userLabel="Record On Off Button" customClass="HoverButton"> - <rect key="frame" x="176" y="0.0" width="44" height="44"/> - <constraints> - <constraint firstAttribute="height" constant="44" id="I7O-NK-0Cq"/> - <constraint firstAttribute="width" constant="44" id="Jgi-MM-qiZ"/> - </constraints> - <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ic_action_record" imagePosition="overlaps" alignment="center" transparent="YES" imageScaling="proportionallyDown" id="LWc-BQ-h4g"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" size="10" name=".HelveticaNeueDeskInterface-Regular"/> - </buttonCell> - <userDefinedRuntimeAttributes> - <userDefinedRuntimeAttribute type="number" keyPath="imageInsets"> - <integer key="value" value="6"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="moiuseOutsideImageColor"> - <color key="value" red="0.84313725490196079" green="0.84313725490196079" blue="0.84313725490196079" alpha="1" colorSpace="calibratedRGB"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="hoverColor"> - <color key="value" red="0.12941176470588234" green="0.12941176470588234" blue="0.12941176470588234" alpha="0.0" colorSpace="custom" customColorSpace="displayP3"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="imageHoverColor"> - <color key="value" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="imagePressedColor"> - <color key="value" red="0.98594832420349121" green="0.0" blue="0.026950567960739136" alpha="1" colorSpace="calibratedRGB"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnHover"> - <integer key="value" value="4"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnClick"> - <integer key="value" value="4"/> - </userDefinedRuntimeAttribute> - </userDefinedRuntimeAttributes> - <connections> - <action selector="toggleRecording:" target="-2" id="zVh-ci-nzl"/> - </connections> - </button> - <button toolTip="Toggle chat" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fmp-x4-Pef" userLabel="Chat" customClass="HoverButton"> - <rect key="frame" x="220" y="0.0" width="44" height="44"/> - <constraints> - <constraint firstAttribute="width" constant="44" id="48U-1h-yAx"/> - <constraint firstAttribute="height" constant="44" id="EDO-9c-ndD"/> - </constraints> - <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ic_action_chat" imagePosition="overlaps" alignment="center" transparent="YES" imageScaling="proportionallyDown" id="1fJ-X6-Rza"> - <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> - <font key="font" metaFont="system"/> - </buttonCell> - <userDefinedRuntimeAttributes> - <userDefinedRuntimeAttribute type="number" keyPath="imageInsets"> - <integer key="value" value="6"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="moiuseOutsideImageColor"> - <color key="value" red="0.84313725490196079" green="0.84313725490196079" blue="0.84313725490196079" alpha="1" colorSpace="calibratedRGB"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="hoverColor"> - <color key="value" red="0.12941176470588234" green="0.12941176470588234" blue="0.12941176470588234" alpha="0.0" colorSpace="custom" customColorSpace="displayP3"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="imageHoverColor"> - <color key="value" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnHover"> - <integer key="value" value="4"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnClick"> - <integer key="value" value="4"/> - </userDefinedRuntimeAttribute> - </userDefinedRuntimeAttributes> - <connections> - <action selector="toggleChat:" target="-2" id="7HN-HS-oqT"/> - </connections> - </button> - </subviews> - <visibilityPriorities> - <integer value="1000"/> - <integer value="1000"/> - <integer value="1000"/> - <integer value="1000"/> - <integer value="1000"/> - <integer value="1000"/> - </visibilityPriorities> - <customSpacing> - <real value="3.4028234663852886e+38"/> - <real value="3.4028234663852886e+38"/> - <real value="3.4028234663852886e+38"/> - <real value="3.4028234663852886e+38"/> - <real value="3.4028234663852886e+38"/> - <real value="3.4028234663852886e+38"/> - </customSpacing> - </stackView> + <button toolTip="Hang up" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Kjq-iM-NBL" userLabel="Hang Up" customClass="HoverButton"> + <rect key="frame" x="0.0" y="0.0" width="44" height="44"/> + <constraints> + <constraint firstAttribute="width" constant="44" id="MYx-uE-Bej"/> + <constraint firstAttribute="height" constant="44" id="dmD-ga-Kwv"/> + </constraints> + <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ic_action_hangup" imagePosition="overlaps" alignment="center" transparent="YES" imageScaling="proportionallyDown" id="kR5-bV-2KY"> + <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> + <font key="font" metaFont="system"/> + </buttonCell> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="imageInsets"> + <integer key="value" value="6"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="moiuseOutsideImageColor"> + <color key="value" name="systemRedColor" catalog="System" colorSpace="catalog"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="hoverColor"> + <color key="value" red="0.12941176470588234" green="0.12941176470588234" blue="0.12941176470588234" alpha="0.0" colorSpace="custom" customColorSpace="displayP3"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="imageHoverColor"> + <color key="value" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnHover"> + <integer key="value" value="4"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnClick"> + <integer key="value" value="4"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + <connections> + <action selector="hangUp:" target="-2" id="1Fj-b8-nfh"/> + </connections> + </button> + <button toolTip="Hold" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="anb-Y8-JQi" userLabel="Hold" customClass="HoverButton"> + <rect key="frame" x="44" y="0.0" width="44" height="44"/> + <constraints> + <constraint firstAttribute="width" constant="44" id="QlH-xq-7uO"/> + <constraint firstAttribute="height" constant="44" id="Xzt-L0-evm"/> + </constraints> + <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ic_action_hold" imagePosition="overlaps" alignment="center" transparent="YES" imageScaling="proportionallyDown" id="7w5-d1-mNe"> + <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> + <font key="font" metaFont="system"/> + </buttonCell> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="imageInsets"> + <integer key="value" value="6"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="moiuseOutsideImageColor"> + <color key="value" red="0.84313725490196079" green="0.84313725490196079" blue="0.84313725490196079" alpha="1" colorSpace="calibratedRGB"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="hoverColor"> + <color key="value" red="0.12941176470588234" green="0.12941176470588234" blue="0.12941176470588234" alpha="0.0" colorSpace="custom" customColorSpace="displayP3"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="imageHoverColor"> + <color key="value" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnHover"> + <integer key="value" value="4"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnClick"> + <integer key="value" value="4"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + <connections> + <action selector="toggleHold:" target="-2" id="O18-nN-hHE"/> + </connections> + </button> + <button toolTip="Mute Audio" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tQl-cT-0Lb" userLabel="Mute Audio" customClass="HoverButton"> + <rect key="frame" x="88" y="0.0" width="44" height="44"/> + <constraints> + <constraint firstAttribute="width" constant="44" id="VhT-NE-Ler"/> + <constraint firstAttribute="height" constant="44" id="WFp-nl-egQ"/> + </constraints> + <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ic_action_audio" imagePosition="overlaps" alignment="center" transparent="YES" imageScaling="proportionallyDown" id="7wg-Q4-mbD"> + <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> + <font key="font" metaFont="system"/> + </buttonCell> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="imageInsets"> + <integer key="value" value="6"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="hoverColor"> + <color key="value" red="0.12894672927461137" green="0.12894672927461137" blue="0.12894672927461137" alpha="0.0" colorSpace="custom" customColorSpace="displayP3"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="moiuseOutsideImageColor"> + <color key="value" red="0.84313725490196079" green="0.84313725490196079" blue="0.84313725490196079" alpha="1" colorSpace="calibratedRGB"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="imageHoverColor"> + <color key="value" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnHover"> + <integer key="value" value="4"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnClick"> + <integer key="value" value="4"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + <connections> + <action selector="muteAudio:" target="-2" id="DBk-mG-FLj"/> + </connections> + </button> + <button toolTip="Mute Video" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="LVS-yZ-98V" userLabel="Mute Video" customClass="HoverButton"> + <rect key="frame" x="132" y="0.0" width="44" height="44"/> + <constraints> + <constraint firstAttribute="height" constant="44" id="Qiq-Nb-gHN"/> + <constraint firstAttribute="width" constant="44" id="k3u-dD-eLF"/> + </constraints> + <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ic_action_video" imagePosition="overlaps" alignment="center" transparent="YES" imageScaling="proportionallyDown" id="sSe-V6-C7i"> + <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> + <font key="font" metaFont="system"/> + </buttonCell> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="imageInsets"> + <integer key="value" value="6"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="moiuseOutsideImageColor"> + <color key="value" red="0.84313725490196079" green="0.84313725490196079" blue="0.84313725490196079" alpha="1" colorSpace="calibratedRGB"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="hoverColor"> + <color key="value" red="0.12941176470588234" green="0.12941176470588234" blue="0.12941176470588234" alpha="0.0" colorSpace="custom" customColorSpace="displayP3"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="imageHoverColor"> + <color key="value" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnHover"> + <integer key="value" value="4"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnClick"> + <integer key="value" value="4"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + <connections> + <action selector="muteVideo:" target="-2" id="a6W-aB-zWX"/> + </connections> + </button> + <button toolTip="Record" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QYT-0n-4sw" userLabel="Record On Off Button" customClass="HoverButton"> + <rect key="frame" x="176" y="0.0" width="44" height="44"/> + <constraints> + <constraint firstAttribute="height" constant="44" id="I7O-NK-0Cq"/> + <constraint firstAttribute="width" constant="44" id="Jgi-MM-qiZ"/> + </constraints> + <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ic_action_record" imagePosition="overlaps" alignment="center" transparent="YES" imageScaling="proportionallyDown" id="LWc-BQ-h4g"> + <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> + <font key="font" size="10" name=".HelveticaNeueDeskInterface-Regular"/> + </buttonCell> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="imageInsets"> + <integer key="value" value="6"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="moiuseOutsideImageColor"> + <color key="value" red="0.84313725490196079" green="0.84313725490196079" blue="0.84313725490196079" alpha="1" colorSpace="calibratedRGB"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="hoverColor"> + <color key="value" red="0.12941176470588234" green="0.12941176470588234" blue="0.12941176470588234" alpha="0.0" colorSpace="custom" customColorSpace="displayP3"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="imageHoverColor"> + <color key="value" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="imagePressedColor"> + <color key="value" red="0.98594832420349121" green="0.0" blue="0.026950567960739136" alpha="1" colorSpace="calibratedRGB"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnHover"> + <integer key="value" value="4"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnClick"> + <integer key="value" value="4"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + <connections> + <action selector="toggleRecording:" target="-2" id="zVh-ci-nzl"/> + </connections> + </button> + <button toolTip="Toggle chat" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fmp-x4-Pef" userLabel="Chat" customClass="HoverButton"> + <rect key="frame" x="220" y="0.0" width="44" height="44"/> + <constraints> + <constraint firstAttribute="width" constant="44" id="48U-1h-yAx"/> + <constraint firstAttribute="height" constant="44" id="EDO-9c-ndD"/> + </constraints> + <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ic_action_chat" imagePosition="overlaps" alignment="center" transparent="YES" imageScaling="proportionallyDown" id="1fJ-X6-Rza"> + <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> + <font key="font" metaFont="system"/> + </buttonCell> + <userDefinedRuntimeAttributes> + <userDefinedRuntimeAttribute type="number" keyPath="imageInsets"> + <integer key="value" value="6"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="moiuseOutsideImageColor"> + <color key="value" red="0.84313725490196079" green="0.84313725490196079" blue="0.84313725490196079" alpha="1" colorSpace="calibratedRGB"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="hoverColor"> + <color key="value" red="0.12941176470588234" green="0.12941176470588234" blue="0.12941176470588234" alpha="0.0" colorSpace="custom" customColorSpace="displayP3"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="color" keyPath="imageHoverColor"> + <color key="value" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnHover"> + <integer key="value" value="4"/> + </userDefinedRuntimeAttribute> + <userDefinedRuntimeAttribute type="number" keyPath="imageIncreaseOnClick"> + <integer key="value" value="4"/> + </userDefinedRuntimeAttribute> + </userDefinedRuntimeAttributes> + <connections> + <action selector="toggleChat:" target="-2" id="7HN-HS-oqT"/> + </connections> + </button> </subviews> - <constraints> - <constraint firstAttribute="height" constant="80" id="5eV-Zj-LpN"/> - <constraint firstAttribute="bottom" secondItem="Djs-L8-8Pe" secondAttribute="bottom" constant="20" id="9sI-eh-XMc"/> - <constraint firstItem="Djs-L8-8Pe" firstAttribute="centerX" secondItem="wDi-X6-dgL" secondAttribute="centerX" priority="750" id="Qeg-xw-clk"/> - </constraints> - <userDefinedRuntimeAttributes> - <userDefinedRuntimeAttribute type="color" keyPath="startingColor"> - <color key="value" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="displayP3"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="color" keyPath="endingColor"> - <color key="value" white="0.0" alpha="0.84999999999999998" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> - </userDefinedRuntimeAttribute> - <userDefinedRuntimeAttribute type="number" keyPath="angle"> - <integer key="value" value="270"/> - </userDefinedRuntimeAttribute> - </userDefinedRuntimeAttributes> - </customView> + <visibilityPriorities> + <integer value="1000"/> + <integer value="1000"/> + <integer value="1000"/> + <integer value="1000"/> + <integer value="1000"/> + <integer value="1000"/> + </visibilityPriorities> + <customSpacing> + <real value="3.4028234663852886e+38"/> + <real value="3.4028234663852886e+38"/> + <real value="3.4028234663852886e+38"/> + <real value="3.4028234663852886e+38"/> + <real value="3.4028234663852886e+38"/> + <real value="3.4028234663852886e+38"/> + </customSpacing> + </stackView> </subviews> <constraints> <constraint firstAttribute="bottom" secondItem="wDi-X6-dgL" secondAttribute="bottom" id="3TS-UW-Tqd"/> <constraint firstAttribute="bottom" secondItem="Usy-W5-TGp" secondAttribute="bottom" id="5mb-Be-9o1"/> + <constraint firstItem="DfH-di-xs7" firstAttribute="bottom" secondItem="d0X-cW-Xgz" secondAttribute="bottom" id="6Wc-Tr-toW"/> <constraint firstItem="Usy-W5-TGp" firstAttribute="top" secondItem="2wf-Py-l6B" secondAttribute="top" id="9ZC-hX-N5k"/> <constraint firstItem="gQE-fN-JhY" firstAttribute="trailing" secondItem="Usy-W5-TGp" secondAttribute="trailing" id="9cl-8g-a1Q"/> + <constraint firstItem="DfH-di-xs7" firstAttribute="trailing" secondItem="d0X-cW-Xgz" secondAttribute="trailing" id="DyH-rT-7Hi"/> <constraint firstAttribute="trailing" secondItem="d0X-cW-Xgz" secondAttribute="trailing" id="G79-Jv-EYw"/> <constraint firstItem="d0X-cW-Xgz" firstAttribute="top" secondItem="2wf-Py-l6B" secondAttribute="top" id="MKB-zm-C75"/> <constraint firstItem="CDQ-nt-oe4" firstAttribute="leading" secondItem="Usy-W5-TGp" secondAttribute="leading" id="N2u-0C-Y3z"/> <constraint firstItem="gQE-fN-JhY" firstAttribute="leading" secondItem="Usy-W5-TGp" secondAttribute="leading" id="N5g-Mw-ag2"/> <constraint firstAttribute="trailing" secondItem="Usy-W5-TGp" secondAttribute="trailing" id="Pj0-Ck-gtP"/> <constraint firstItem="Usy-W5-TGp" firstAttribute="leading" secondItem="2wf-Py-l6B" secondAttribute="leading" id="Y9m-rg-Huw"/> + <constraint firstItem="Djs-L8-8Pe" firstAttribute="centerX" secondItem="2wf-Py-l6B" secondAttribute="centerX" id="ZMK-LH-jsj"/> <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="575" id="aB1-HF-No8"/> <constraint firstItem="CDQ-nt-oe4" firstAttribute="bottom" secondItem="Usy-W5-TGp" secondAttribute="bottom" id="agL-I1-x42"/> + <constraint firstAttribute="bottom" secondItem="Djs-L8-8Pe" secondAttribute="bottom" constant="20" id="cOa-zR-57H"/> + <constraint firstItem="DfH-di-xs7" firstAttribute="top" secondItem="d0X-cW-Xgz" secondAttribute="top" id="ccR-I6-t3G"/> <constraint firstItem="d0X-cW-Xgz" firstAttribute="leading" secondItem="2wf-Py-l6B" secondAttribute="leading" id="efy-70-qsJ"/> <constraint firstItem="gQE-fN-JhY" firstAttribute="bottom" secondItem="Usy-W5-TGp" secondAttribute="bottom" id="fwu-m8-3Pt"/> + <constraint firstItem="DfH-di-xs7" firstAttribute="leading" secondItem="d0X-cW-Xgz" secondAttribute="leading" id="gDJ-fb-C4I"/> <constraint firstItem="aLB-LA-yn0" firstAttribute="centerY" secondItem="2wf-Py-l6B" secondAttribute="centerY" id="jcZ-mZ-cOG"/> <constraint firstItem="CDQ-nt-oe4" firstAttribute="top" secondItem="Usy-W5-TGp" secondAttribute="top" id="mS7-0s-mzr"/> <constraint firstItem="gQE-fN-JhY" firstAttribute="top" secondItem="Usy-W5-TGp" secondAttribute="top" id="pVh-ja-gEo"/>