aboutsummaryrefslogtreecommitdiff
path: root/AppKit/GTMNSImage+Scaling.h
blob: 0f87709bb072380369a6679d904515c568385dec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//
//  GTMNSImage+Scaling.h
//
//  Scales NSImages to a variety of sizes for drawing
//
//  Copyright 2006-2008 Google Inc.
//
//  Licensed under the Apache License, Version 2.0 (the "License"); you may not
//  use this file except in compliance with the License.  You may obtain a copy
//  of the License at
// 
//  http://www.apache.org/licenses/LICENSE-2.0
// 
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
//  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
//  License for the specific language governing permissions and limitations under
//  the License.
//


#import <AppKit/AppKit.h>
#import "GTMDefines.h"

@interface NSImage (GTMNSImageScaling)

// Return an existing representation of a size
- (NSImageRep *)gtm_representationOfSize:(NSSize)size;

#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6
// Return the exact or next largest representation for a size
// If you are on SnowLeopard use 
// -[NSImage bestRepresentationForRect:context:hints:]
// Also, please see http://openradar.appspot.com/radar?id=394401
// and read notes in GTMNSImage+ScalingTest.m. Search for "8052200".
- (NSImageRep *)gtm_bestRepresentationForSize:(NSSize)size;
#endif

// Create a new represetation for a given size
- (BOOL)gtm_createRepresentationOfSize:(NSSize)size;

// Create 32 and 16px reps
- (BOOL)gtm_createIconRepresentations;

// Remove reps larger than a given size and create a new rep if needed
- (void)gtm_shrinkToSize:(NSSize)size;

// Remove reps larger than a given size
- (void)gtm_removeRepresentationsLargerThanSize:(NSSize)size;

// Return a dup shrunk to a given size
- (NSImage *)gtm_duplicateOfSize:(NSSize)size;
@end