Mercurial > dwindows
comparison mac/dw.m @ 873:fe7a8dc9392c
Dynamically set the video memory backing location, only if there is a render control.
So we don't waste video memory on windows that won't get benefit from it.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Tue, 05 Apr 2011 00:35:31 +0000 |
parents | 13debcad9757 |
children | 7b2750744552 |
comparison
equal
deleted
inserted
replaced
872:13debcad9757 | 873:fe7a8dc9392c |
---|---|
2197 else if([handle isMemberOfClass:[DWRender class]]) | 2197 else if([handle isMemberOfClass:[DWRender class]]) |
2198 { | 2198 { |
2199 DWRender *render = (DWRender *)handle; | 2199 DWRender *render = (DWRender *)handle; |
2200 NSSize oldsize = [render size]; | 2200 NSSize oldsize = [render size]; |
2201 NSSize newsize = [render frame].size; | 2201 NSSize newsize = [render frame].size; |
2202 NSWindow *window = [render window]; | |
2203 | |
2204 if([window preferredBackingLocation] != NSWindowBackingLocationVideoMemory) | |
2205 { | |
2206 [window setPreferredBackingLocation:NSWindowBackingLocationVideoMemory]; | |
2207 } | |
2202 | 2208 |
2203 /* Eliminate duplicate configure requests */ | 2209 /* Eliminate duplicate configure requests */ |
2204 if(oldsize.width != newsize.width || oldsize.height != newsize.height) | 2210 if(oldsize.width != newsize.width || oldsize.height != newsize.height) |
2205 { | 2211 { |
2206 [render setSize:newsize]; | 2212 [render setSize:newsize]; |
6301 initWithContentRect:frame | 6307 initWithContentRect:frame |
6302 styleMask:(flStyle | NSTexturedBackgroundWindowMask) | 6308 styleMask:(flStyle | NSTexturedBackgroundWindowMask) |
6303 backing:NSBackingStoreBuffered | 6309 backing:NSBackingStoreBuffered |
6304 defer:false]; | 6310 defer:false]; |
6305 | 6311 |
6306 [window setPreferredBackingLocation:NSWindowBackingLocationVideoMemory]; | |
6307 [window setTitle:[ NSString stringWithUTF8String:title ]]; | 6312 [window setTitle:[ NSString stringWithUTF8String:title ]]; |
6308 | 6313 |
6309 DWView *view = [[DWView alloc] init]; | 6314 DWView *view = [[DWView alloc] init]; |
6310 | 6315 |
6311 [window setContentView:view]; | 6316 [window setContentView:view]; |