//
// 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
|
10691 |
DWishR |
Populate //guest/DWishR/piper/.... |
|
|
//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. |
|
|