]> rtime.felk.cvut.cz Git - opencv.git/commitdiff
disallow user to resize highgui windows with autoresize flag (cocoa bindings) - ticke...
authorvp153 <vp153@73c94f0f-984f-4a5f-82bc-2d8db8d8ee08>
Mon, 15 Mar 2010 13:50:52 +0000 (13:50 +0000)
committervp153 <vp153@73c94f0f-984f-4a5f-82bc-2d8db8d8ee08>
Mon, 15 Mar 2010 13:50:52 +0000 (13:50 +0000)
git-svn-id: https://code.ros.org/svn/opencv/trunk@2818 73c94f0f-984f-4a5f-82bc-2d8db8d8ee08

opencv/src/highgui/window_cocoa.mm

index 0e9e8c4168f8b342de39f3634ba6062105bfad66..5db642362dd256fa3526896cdf86bfbc5fb7608d 100644 (file)
@@ -150,8 +150,9 @@ CV_IMPL void cvShowImage( const char* name, const CvArr* arr)
 {
        CVWindow *window = cvGetWindow(name);
        if(window) {
+        bool empty = [[window contentView] image] == nil;
                [[window contentView] setImageData:(CvArr *)arr];
-               if([window autosize]) {
+               if([window autosize] || empty) {
                        NSRect rect = [window frame];
                        rect.size = [[[window contentView] image] size];
                        [window setFrame:rect display:YES];
@@ -329,9 +330,10 @@ CV_IMPL int cvNamedWindow( const char* name, int flags )
         cvInitSystem(0, 0);
     
        CVWindow *window = [[CVWindow alloc] initWithContentRect:NSMakeRect(0,0,200,200)
-       styleMask:NSTitledWindowMask|NSClosableWindowMask|NSMiniaturizableWindowMask|NSResizableWindowMask
-       backing:NSBackingStoreBuffered  
-       defer:NO];
+        styleMask:NSTitledWindowMask|NSClosableWindowMask|NSMiniaturizableWindowMask|
+        (!(flags & CV_WND_PROP_AUTOSIZE) ? NSResizableWindowMask : 0)
+        backing:NSBackingStoreBuffered  
+           defer:NO];
        
        NSString *windowName = [NSString stringWithFormat:@"%s", name];