// // PSScrollView.m // Perforce // // Created by Adam Czubernat on 24.06.2013. // Copyright (c) 2013 Perforce Software, Inc. All rights reserved. // #import "PSScrollView.h" #import "PSClipView.h" @implementation PSScrollView { PSClipView *clipView; } @synthesize reverseScrolling; - (void)setFrame:(NSRect)frameRect { if (reverseScrolling) { [super setFrame:frameRect]; return; } // Swap clip view if (!clipView) { NSClipView *superClipView = [super contentView]; NSView *documentView = superClipView.documentView; clipView = [[PSClipView alloc] initWithFrame:superClipView.frame]; clipView.documentView = documentView; clipView.copiesOnScroll = superClipView.copiesOnScroll; clipView.drawsBackground = superClipView.drawsBackground; clipView.backgroundColor = superClipView.backgroundColor; [self setContentView:clipView]; superClipView = [super contentView]; [superClipView setBoundsOrigin:(CGPoint) { 0.0f, superClipView.frame.size.height - documentView.frame.size.height }]; } CGRect bounds = [clipView bounds]; CGFloat delta = frameRect.size.height - self.frame.size.height; [super setFrame:frameRect]; [clipView setBoundsOrigin:(CGPoint) { 0.0f, bounds.origin.y + delta}]; [self reflectScrolledClipView:clipView]; } - (void)scrollWheel:(NSEvent *)theEvent { if (theEvent.deltaX && !theEvent.deltaY) [[self nextResponder] scrollWheel:theEvent]; [super scrollWheel:theEvent]; } @end
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 15071 | alan_petersen |
Populate -o //guest/perforce_software/piper/... //guest/alan_petersen/piper/.... |
||
//guest/perforce_software/piper/mac/main/Perforce/Classes/Views/PSScrollView.m | |||||
#1 | 11252 | alan_petersen | Rename/move file(s) | ||
//guest/perforce_software/piper/mac/Perforce/Classes/Views/PSScrollView.m | |||||
#1 | 10744 | alan_petersen | Rename/move file(s) | ||
//guest/perforce_software/piper/Perforce/Classes/Views/PSScrollView.m | |||||
#1 | 8919 | Matt Attaway | Initial add of Piper, a lightweight Perforce client for artists and designers. |