Skip to content
Browse files

Added a close button.

Added a resize corner image.
Tweaked the appearance of the pager.
  • Loading branch information...
1 parent 4903a91 commit 33de3489bc2fb888ce9ec31d85d2638f08ef1ec1 @ksuther committed Dec 15, 2008
View
23 CloseButtonLayer.h
@@ -0,0 +1,23 @@
+//
+// CloseButtonLayer.h
+// Warp
+//
+// Created by Kent Sutherland on 12/14/08.
+// Copyright 2008 Kent Sutherland. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+#import <Carbon/Carbon.h>
+#import <QuartzCore/QuartzCore.h>
+
+@interface CloseButtonLayer : CALayer {
+ SEL _action;
+ id _target;
+
+ NSTimer *_closeTimer;
+}
+
+@property(assign) SEL action;
+@property(assign) id target;
+
+@end
View
39 CloseButtonLayer.m
@@ -0,0 +1,39 @@
+//
+// CloseButtonLayer.m
+// Warp
+//
+// Created by Kent Sutherland on 12/14/08.
+// Copyright 2008 Kent Sutherland. All rights reserved.
+//
+
+#import "CloseButtonLayer.h"
+
+@implementation CloseButtonLayer
+
+@synthesize action = _action, target = _target;
+
+- (void)closeTimerFired:(NSTimer *)timer
+{
+ if (GetCurrentKeyModifiers() & optionKey) {
+ self.opacity = 1.0;
+ } else {
+ self.opacity = 0.0;
+ }
+}
+
+#pragma mark -
+#pragma mark NSTrackingArea Callbacks
+
+- (void)mouseEntered:(NSEvent *)event
+{
+ _closeTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(closeTimerFired:) userInfo:nil repeats:YES];
+}
+
+- (void)mouseExited:(NSEvent *)event
+{
+ [_closeTimer invalidate];
+
+ self.opacity = 0.0;
+}
+
+@end
View
15 FlippedView.h
@@ -0,0 +1,15 @@
+//
+// FlippedView.h
+// Warp
+//
+// Created by Kent Sutherland on 12/14/08.
+// Copyright 2008 Kent Sutherland. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface FlippedView : NSView {
+
+}
+
+@end
View
18 FlippedView.m
@@ -0,0 +1,18 @@
+//
+// FlippedView.m
+// Warp
+//
+// Created by Kent Sutherland on 12/14/08.
+// Copyright 2008 Kent Sutherland. All rights reserved.
+//
+
+#import "FlippedView.h"
+
+@implementation FlippedView
+
+- (BOOL)isFlipped
+{
+ return YES;
+}
+
+@end
View
8 PagerController.h
@@ -9,16 +9,22 @@
#import <Cocoa/Cocoa.h>
#import <QuartzCore/QuartzCore.h>
+@class CloseButtonLayer;
+
@interface PagerController : NSObject {
BOOL _pagerVisible;
NSPanel *_pagerPanel;
NSView *_layersView;
- CALayer *_closeLayer, *_frameLayer;
+ CALayer *_frameLayer;
+ CloseButtonLayer *_closeLayer;
+ NSTrackingArea *_closeTrackingArea;
NSInteger _activeSpace;
}
+- (void)hidePager;
+- (void)showPager;
- (void)toggleVisibility;
@end
View
113 PagerController.m
@@ -12,6 +12,8 @@
#import "PagerView.h"
#import "MainController.h"
#import "CGSPrivate2.h"
+#import "CloseButtonLayer.h"
+#import "FlippedView.h"
extern OSStatus CGContextCopyWindowCaptureContentsToRect(CGContextRef ctx, CGRect rect, NSInteger cid, CGWindowID wid, NSInteger flags);
@@ -90,6 +92,20 @@ - (void)windowResized:(NSNotification *)note
[_frameLayer setNeedsDisplay];
}
+- (void)hidePager
+{
+ if (_pagerVisible) {
+ [self toggleVisibility];
+ }
+}
+
+- (void)showPager
+{
+ if (!_pagerVisible) {
+ [self toggleVisibility];
+ }
+}
+
- (void)toggleVisibility
{
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:
@@ -131,23 +147,39 @@ - (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
[NSGraphicsContext setCurrentContext:graphicsContext];
if (layer.zPosition == 0) {
+ /*NSBezierPath *framePath = [NSBezierPath bezierPathWithRoundedRect:NSRectFromCGRect(layer.bounds) xRadius:12 yRadius:12];
+
[NSBezierPath setDefaultLineWidth:5.0];
[[NSColor colorWithCalibratedWhite:0.0 alpha:1.0] set];
+ [framePath fill];
+
+ //Draw the glassy gradient
+ NSRect glassRect = NSRectFromCGRect(CGRectInset(layer.bounds, -5, -5));
+ glassRect.origin.y += glassRect.size.height * .65;
+ glassRect.size.height *= .35;
+
+ NSGradient *gradient = [[NSGradient alloc] initWithStartingColor:[NSColor colorWithCalibratedWhite:0.70 alpha:1.0] endingColor:[NSColor blackColor]];
+ NSBezierPath *glassPath = [NSBezierPath bezierPathWithRoundedRect:glassRect xRadius:20 yRadius:20];
+
+ [framePath setClip];
+ [gradient drawInBezierPath:glassPath angle:270];
+ [gradient release];*/
+
+ [[NSColor colorWithCalibratedWhite:0.0 alpha:0.9] set];
[[NSBezierPath bezierPathWithRoundedRect:NSRectFromCGRect(layer.bounds) xRadius:12 yRadius:12] fill];
//Draw clear in each of the spaces
for (CALayer *layer in [[_layersView layer] sublayers]) {
- CGRect frame = [layer convertRect:CGRectInset(layer.frame, -2, -2) toLayer:layer];
+ CGRect frame = [layer convertRect:layer.frame toLayer:layer];
frame.origin.x += 8;
frame.origin.y += 8;
- //Clear the rect
- CGContextClearRect(ctx, frame);
-
+ //Clear the area of each space
+ [[NSGraphicsContext currentContext] setCompositingOperation:NSCompositeClear];
[[NSColor colorWithCalibratedWhite:0.0 alpha:1.0] set];
- [[NSBezierPath bezierPathWithRoundedRect:NSRectFromCGRect(frame) xRadius:6 yRadius:6] stroke];
+ [[NSBezierPath bezierPathWithRoundedRect:NSRectFromCGRect(frame) xRadius:6 yRadius:6] fill];
}
} else {
NSInteger workspace = layer.zPosition;
@@ -214,19 +246,6 @@ - (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
}
#pragma mark -
-#pragma mark NSTrackingArea Callbacks
-
-- (void)mouseEntered:(NSEvent *)event
-{
- //Show the close button
-}
-
-- (void)mouseExited:(NSEvent *)event
-{
- //Hide the close button
-}
-
-#pragma mark -
#pragma mark Private
- (void)_createPager
@@ -241,7 +260,7 @@ - (void)_createPager
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowMoved:) name:NSWindowDidMoveNotification object:_pagerPanel];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowResized:) name:NSWindowDidResizeNotification object:_pagerPanel];
- NSView *contentView = [[[NSView alloc] initWithFrame:[_pagerPanel frame]] autorelease];
+ NSView *contentView = [[[FlippedView alloc] initWithFrame:[_pagerPanel frame]] autorelease];
[contentView setWantsLayer:YES];
[_pagerPanel setContentView:contentView];
@@ -250,6 +269,8 @@ - (void)_createPager
if (savedFrameString && !NSEqualRects(savedFrame, NSZeroRect)) {
[_pagerPanel setFrame:savedFrame display:NO];
+ } else {
+ savedFrame = _pagerPanel.frame;
}
[_pagerPanel setBackgroundColor:[NSColor clearColor]];
@@ -269,20 +290,16 @@ - (void)_createPager
[[_pagerPanel contentView] addSubview:_layersView];
- NSTrackingArea *area = [[NSTrackingArea alloc] initWithRect:NSMakeRect(0, [[_pagerPanel contentView] bounds].size.height - 15, 15, 15) options:NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways owner:self userInfo:nil];
- [[_pagerPanel contentView] addTrackingArea:area];
-
NSInteger cols = [MainController numberOfSpacesColumns], rows = [MainController numberOfSpacesRows];
- //NSInteger cols = 3, rows = 3;
- NSSize layerSize = NSMakeSize(pagerSize.width - (cols + 1) * 3, pagerSize.height - (rows + 1) * 3);
+ NSSize layerSize = NSMakeSize(pagerSize.width - (cols + 1) * 4, pagerSize.height - (rows + 1) * 4);
for (NSInteger i = 0; i < rows; i++) {
for (NSInteger j = 0; j < cols; j++) {
CALayer *layer = [CALayer layer];
layer.name = [NSString stringWithFormat:@"%d.%d", i, j];
- CGColorRef color = CGColorCreateGenericGray(0.0, 0.25);
+ CGColorRef color = CGColorCreateGenericGray(0.0, 0.4);
layer.backgroundColor = color;
layer.borderColor = CGColorGetConstantColor(kCGColorClear);
CGColorRelease(color);
@@ -295,8 +312,8 @@ - (void)_createPager
layer.zPosition = [MainController spacesIndexForRow:i + 1 column:j + 1] + 1;
layer.bounds = CGRectMake(0, 0, (layerSize.width / cols), (layerSize.height / rows));
- [layer addConstraint:[CAConstraint constraintWithAttribute:kCAConstraintWidth relativeTo:@"superlayer" attribute:kCAConstraintWidth scale:(1.0 / cols) offset:-3]];
- [layer addConstraint:[CAConstraint constraintWithAttribute:kCAConstraintHeight relativeTo:@"superlayer" attribute:kCAConstraintHeight scale:(1.0 / rows) offset:-3]];
+ [layer addConstraint:[CAConstraint constraintWithAttribute:kCAConstraintWidth relativeTo:@"superlayer" attribute:kCAConstraintWidth scale:(1.0 / cols) offset:-4]];
+ [layer addConstraint:[CAConstraint constraintWithAttribute:kCAConstraintHeight relativeTo:@"superlayer" attribute:kCAConstraintHeight scale:(1.0 / rows) offset:-4]];
if (j == 0) {
[layer addConstraint:[CAConstraint constraintWithAttribute:kCAConstraintMinX relativeTo:@"superlayer" attribute:kCAConstraintMinX offset:0]];
@@ -307,11 +324,11 @@ - (void)_createPager
}
if (i > 0) {
- [layer addConstraint:[CAConstraint constraintWithAttribute:kCAConstraintMaxY relativeTo:[NSString stringWithFormat:@"%d.%d", i - 1, j] attribute:kCAConstraintMinY offset:-5]];
+ [layer addConstraint:[CAConstraint constraintWithAttribute:kCAConstraintMaxY relativeTo:[NSString stringWithFormat:@"%d.%d", i - 1, j] attribute:kCAConstraintMinY offset:-8]];
}
if (j > 0) {
- [layer addConstraint:[CAConstraint constraintWithAttribute:kCAConstraintMinX relativeTo:[NSString stringWithFormat:@"%d.%d", i, j - 1] attribute:kCAConstraintMaxX offset:5]];
+ [layer addConstraint:[CAConstraint constraintWithAttribute:kCAConstraintMinX relativeTo:[NSString stringWithFormat:@"%d.%d", i, j - 1] attribute:kCAConstraintMaxX offset:8]];
}
[[_layersView layer] addSublayer:layer];
@@ -321,14 +338,50 @@ - (void)_createPager
}
_frameLayer = [CALayer layer];
- _frameLayer.opacity = 0.85;
+ _frameLayer.opacity = 0.9;
_frameLayer.delegate = self;
_frameLayer.frame = [[_pagerPanel contentView] layer].frame;
_frameLayer.contentsGravity = kCAGravityResize;
_frameLayer.autoresizingMask = kCALayerWidthSizable | kCALayerHeightSizable;
[_frameLayer setNeedsDisplay];
[[[_pagerPanel contentView] layer] addSublayer:_frameLayer];
+ //Add the corner resize indicator
+ CFURLRef url = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("resize_corner"), CFSTR("png"), nil);
+ CGDataProviderRef provider = CGDataProviderCreateWithURL(url);
+ CGImageRef resizeImage = CGImageCreateWithPNGDataProvider(provider, NULL, false, kCGRenderingIntentDefault);
+ CALayer *resizeLayer = [CALayer layer];
+
+ resizeLayer.autoresizingMask = kCALayerMinXMargin | kCALayerMaxYMargin;
+ resizeLayer.frame = CGRectMake(savedFrame.size.width - 12, 4, 8, 8);
+ resizeLayer.contents = (id)resizeImage;
+ [[[_pagerPanel contentView] layer] addSublayer:resizeLayer];
+
+ CGImageRelease(resizeImage);
+ CGDataProviderRelease(provider);
+ CFRelease(url);
+
+ url = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("closebox"), CFSTR("png"), nil);
+ provider = CGDataProviderCreateWithURL(url);
+ CGImageRef closeImage = CGImageCreateWithPNGDataProvider(provider, NULL, false, kCGRenderingIntentDefault);
+ _closeLayer = [CloseButtonLayer layer];
+
+ NSTrackingArea *area = [[NSTrackingArea alloc] initWithRect:NSMakeRect(5, 5, 20, 20) options:NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways owner:_closeLayer userInfo:nil];
+ [[_pagerPanel contentView] addTrackingArea:area];
+ [area release];
+
+ _closeLayer.frame = CGRectMake(0, savedFrame.size.height - 30, 30, 30);
+ _closeLayer.autoresizingMask = kCALayerMinYMargin;
+ _closeLayer.contents = (id)closeImage;
+ _closeLayer.opacity = 0.0;
+ _closeLayer.target = self;
+ _closeLayer.action = @selector(hidePager);
+ [[[_pagerPanel contentView] layer] addSublayer:_closeLayer];
+
+ CGImageRelease(closeImage);
+ CGDataProviderRelease(provider);
+ CFRelease(url);
+
[self _updateActiveSpace];
}
View
4 PagerPanel.h
@@ -13,7 +13,9 @@
NSPoint _initialLocation;
NSPoint _initialLocationOnScreen;
NSRect _initialFrame;
- BOOL _resizing;
+ BOOL _resizing, _dragged;
+
+ CALayer *_downLayer;
}
@end
View
31 PagerPanel.m
@@ -7,6 +7,9 @@
//
#import "PagerPanel.h"
+#import "CloseButtonLayer.h"
+
+static const NSInteger PagerResizeCornerSize = 10;
@implementation PagerPanel
@@ -26,7 +29,24 @@ - (void)mouseDown:(NSEvent *)event
_initialLocationOnScreen = [self convertBaseToScreen:[event locationInWindow]];
_initialFrame = [self frame];
- _resizing = (_initialLocation.x >= _initialFrame.size.width - 20 && _initialLocation.y <= 20);
+ _resizing = (_initialLocation.x >= _initialFrame.size.width - PagerResizeCornerSize && _initialLocation.y <= PagerResizeCornerSize);
+
+ _downLayer = [[[self contentView] layer] hitTest:NSPointToCGPoint([event locationInWindow])];
+}
+
+- (void)mouseUp:(NSEvent *)event
+{
+ if (_resizing) {
+ [[[self contentView] subviews] makeObjectsPerformSelector:@selector(viewDidEndLiveResize)];
+ } else if (!_dragged) {
+ CALayer *layer = [[[self contentView] layer] hitTest:NSPointToCGPoint([event locationInWindow])];
+
+ if (layer == _downLayer && [layer isKindOfClass:[CloseButtonLayer class]] && [(CloseButtonLayer *)layer target] && [(CloseButtonLayer *)layer action]) {
+ [[(CloseButtonLayer *)layer target] performSelector:[(CloseButtonLayer *)layer action]];
+ }
+ }
+
+ _dragged = NO;
}
- (void)mouseDragged:(NSEvent *)event
@@ -35,6 +55,8 @@ - (void)mouseDragged:(NSEvent *)event
NSRect screenFrame = [[NSScreen mainScreen] frame];
NSRect frame = [self frame];
+ _dragged = YES;
+
//from http://www.cocoadev.com/index.pl?BorderlessWindow
if (_resizing) {
NSPoint currentLocationOnScreen = [self convertBaseToScreen:[self mouseLocationOutsideOfEventStream]];
@@ -83,11 +105,4 @@ - (void)mouseDragged:(NSEvent *)event
}
}
-- (void)mouseUp:(NSEvent *)event
-{
- if (_resizing) {
- [[[self contentView] subviews] makeObjectsPerformSelector:@selector(viewDidEndLiveResize)];
- }
-}
-
@end
View
5 PagerView.m
@@ -16,8 +16,7 @@ - (void)mouseDragged:(NSEvent *)event
{
_dragged = YES;
- //Forward drag events to the window
- [[self window] mouseDragged:event];
+ [super mouseDragged:event];
}
- (void)mouseUp:(NSEvent *)event
@@ -31,6 +30,8 @@ - (void)mouseUp:(NSEvent *)event
}
_dragged = NO;
+
+ [super mouseUp:event];
}
- (void)viewDidEndLiveResize
View
20 Warp.xcodeproj/project.pbxproj
@@ -39,6 +39,10 @@
375167B60CE2DD6F00B39CD3 /* WarpDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 375167B50CE2DD6F00B39CD3 /* WarpDefaults.m */; };
375169D00CE39CDA00B39CD3 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 375169CF0CE39CDA00B39CD3 /* SystemConfiguration.framework */; };
37532A890ED71904006805B3 /* PagerPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = 37532A880ED71904006805B3 /* PagerPanel.m */; };
+ 3759DCD10EF5793D00A76FD0 /* resize_corner.png in Resources */ = {isa = PBXBuildFile; fileRef = 3759DCD00EF5793D00A76FD0 /* resize_corner.png */; };
+ 3759DD1B0EF5824400A76FD0 /* closebox.png in Resources */ = {isa = PBXBuildFile; fileRef = 3759DD1A0EF5824400A76FD0 /* closebox.png */; };
+ 3759DD4C0EF5C41C00A76FD0 /* CloseButtonLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3759DD4B0EF5C41C00A76FD0 /* CloseButtonLayer.m */; };
+ 3759DD990EF5C9FD00A76FD0 /* FlippedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3759DD980EF5C9FD00A76FD0 /* FlippedView.m */; };
3790F6390CDA71C400A034FA /* MainController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3790F6380CDA71C400A034FA /* MainController.m */; };
3790F65B0CDA73C400A034FA /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3790F65A0CDA73C400A034FA /* Carbon.framework */; };
3790F76B0CDA804300A034FA /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3790F76A0CDA804300A034FA /* ApplicationServices.framework */; };
@@ -143,6 +147,12 @@
375169CF0CE39CDA00B39CD3 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = /System/Library/Frameworks/SystemConfiguration.framework; sourceTree = "<absolute>"; };
37532A870ED71904006805B3 /* PagerPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PagerPanel.h; sourceTree = "<group>"; };
37532A880ED71904006805B3 /* PagerPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PagerPanel.m; sourceTree = "<group>"; };
+ 3759DCD00EF5793D00A76FD0 /* resize_corner.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = resize_corner.png; sourceTree = "<group>"; };
+ 3759DD1A0EF5824400A76FD0 /* closebox.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = closebox.png; sourceTree = "<group>"; };
+ 3759DD4A0EF5C41C00A76FD0 /* CloseButtonLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CloseButtonLayer.h; sourceTree = "<group>"; };
+ 3759DD4B0EF5C41C00A76FD0 /* CloseButtonLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CloseButtonLayer.m; sourceTree = "<group>"; };
+ 3759DD970EF5C9FD00A76FD0 /* FlippedView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FlippedView.h; sourceTree = "<group>"; };
+ 3759DD980EF5C9FD00A76FD0 /* FlippedView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FlippedView.m; sourceTree = "<group>"; };
3790F6370CDA71C400A034FA /* MainController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainController.h; sourceTree = "<group>"; };
3790F6380CDA71C400A034FA /* MainController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MainController.m; sourceTree = "<group>"; };
3790F65A0CDA73C400A034FA /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
@@ -274,6 +284,8 @@
3790F8C10CDB042200A034FA /* PrefPane-Info.plist */,
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
375166BE0CE2C6C500B39CD3 /* Localizable.strings */,
+ 3759DCD00EF5793D00A76FD0 /* resize_corner.png */,
+ 3759DD1A0EF5824400A76FD0 /* closebox.png */,
371A1E790D1B6B2700266F70 /* Warp.icns */,
3790F8E70CDB057E00A034FA /* Warp.searchTerms */,
3790F9130CDB864E00A034FA /* WarpPreferences.xib */,
@@ -320,6 +332,10 @@
37532A880ED71904006805B3 /* PagerPanel.m */,
379D46C00ED79FA700751DB8 /* PagerView.h */,
379D46C10ED79FA700751DB8 /* PagerView.m */,
+ 3759DD970EF5C9FD00A76FD0 /* FlippedView.h */,
+ 3759DD980EF5C9FD00A76FD0 /* FlippedView.m */,
+ 3759DD4A0EF5C41C00A76FD0 /* CloseButtonLayer.h */,
+ 3759DD4B0EF5C41C00A76FD0 /* CloseButtonLayer.m */,
);
name = Pager;
sourceTree = "<group>";
@@ -423,6 +439,8 @@
files = (
8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */,
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
+ 3759DCD10EF5793D00A76FD0 /* resize_corner.png in Resources */,
+ 3759DD1B0EF5824400A76FD0 /* closebox.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -455,6 +473,8 @@
37D0E3ED0ED7110F0037F407 /* PagerController.m in Sources */,
37532A890ED71904006805B3 /* PagerPanel.m in Sources */,
379D46C20ED79FA700751DB8 /* PagerView.m in Sources */,
+ 3759DD4C0EF5C41C00A76FD0 /* CloseButtonLayer.m in Sources */,
+ 3759DD990EF5C9FD00A76FD0 /* FlippedView.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
View
BIN closebox.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN resize_corner.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 33de348

Please sign in to comment.
Something went wrong with that request. Please try again.