Annotation of Examples/AppKit/VideoApp/MyApp.m, revision 1.1.1.1

1.1       root        1: #import <appkit/appkit.h>
                      2: #import <video/NXLiveVideoView.h>
                      3: #import "MyApp.h"
                      4: 
                      5: @implementation MyApp
                      6: 
                      7: - appDidInit:sender
                      8: {
                      9:   NXRect winRect;
                     10:   int type;
                     11:   NXSize vidSize;
                     12:   
                     13:   [nretWindow getFrame:&winRect];
                     14:   [nretWindow setBackgroundGray:NX_WHITE];
                     15:   [window setBecomeKeyOnlyIfNeeded:YES];
                     16: // Get the screen size.
                     17:   if(![NXLiveVideoView doesWindowSupportVideo:bufWindow 
                     18:                    standard:&type size:&vidSize])
                     19:   {
                     20:     NXRunAlertPanel("No Video Present","This machine is not capable of running video applications. Since this program is exclusively for Video, It will now exit","OK",NULL,NULL);
                     21:     [self terminate:self];
                     22:   }
                     23:   [bufWindow sizeWindow:vidSize.width :vidSize.height];
                     24:   [bufWindow makeKeyWindow];
                     25:   [nretWindow sizeWindow:vidSize.width :vidSize.height];
                     26:   [videoView grab];
                     27:   buffed=YES;
                     28:   mode = NX_FROMINPUT;
                     29:   return self;
                     30: }
                     31: 
                     32: - setMode:sender
                     33: {
                     34:   switch([[sender selectedCell] tag])
                     35:   {
                     36:     case 0:
                     37:       if(mode==NX_FROMINPUT) break;mode=NX_FROMINPUT;
                     38:       [videoView stop:self];
                     39:       [videoView setOutputMode:NX_FROMINPUT];
                     40:       [outputBox removeFromSuperview];
                     41:       [[window contentView] addSubview:inputBox];
                     42:       if(!buffed) {[self swapWindows:self];[retainedButton setState:0];}
                     43:       break;
                     44:     case 1:
                     45:       if(mode==NX_FROMVIEW) break;mode=NX_FROMVIEW;
                     46:       [videoView stop:self];
                     47:       [videoView setOutputMode:NX_FROMVIEW];
                     48:       [inputBox removeFromSuperview];
                     49:       [[window contentView] addSubview:outputBox];
                     50:       break;
                     51:   }
                     52:   [[window contentView] display];
                     53:   [videoView display];
                     54:   return self;
                     55: }
                     56: 
                     57: - setInput:sender
                     58: {
                     59:   int types[] = {NX_VIDEOIN1,NX_VIDEOIN2,NX_VIDEOIN3};
                     60:   
                     61:   [videoView selectInput:types[[[sender selectedCell] tag]]];
                     62:   return self;
                     63: }
                     64: 
                     65: - setBrightness:sender
                     66: {
                     67:   [videoView setInputBrightness:[sender floatValue]];
                     68:   return self;
                     69: }
                     70: 
                     71: - setGamma:sender
                     72: {
                     73:   [videoView setInputGamma:[sender floatValue]];
                     74:   return self;
                     75: }
                     76: 
                     77: - setOutGamma:sender
                     78: {
                     79:   [videoView setOutputGamma:[sender floatValue]];
                     80:   return self;
                     81: }
                     82: 
                     83: - setHue:sender
                     84: {
                     85:   [videoView setInputHue:[sender floatValue]];
                     86:   return self;
                     87: }
                     88: 
                     89: - setSaturation:sender
                     90: {
                     91:   [videoView setInputSaturation:[sender floatValue]];
                     92:   return self;
                     93: }
                     94: 
                     95: - setSharpness:sender
                     96: {
                     97:   [videoView setInputSharpness:[sender floatValue]];
                     98:   return self;
                     99: }
                    100: 
                    101: - swapWindows:sender
                    102: {
                    103:   BOOL videoWasOn = [videoView isVideoActive]; 
                    104:   [videoView stop:self];
                    105:   if(buffed)
                    106:   {
                    107:     buffed = NO;
                    108:     [videoView removeFromSuperview];
                    109:     [[nretWindow contentView] addSubview:videoView];
                    110:     [nretWindow makeKeyAndOrderFront:self];
                    111:     [nretWindow display];
                    112:     [bufWindow close];
                    113:   }
                    114:   else
                    115:   {
                    116:     buffed = YES;
                    117:     [videoView removeFromSuperview];
                    118:     [[bufWindow contentView] addSubview:videoView];
                    119:     [videoView display];
                    120:     [bufWindow makeKeyAndOrderFront:self];
                    121:     [nretWindow close];
                    122:   }
                    123:   if(videoWasOn) [videoView start:self];
                    124:   return self;
                    125: }
                    126: 
                    127: - openImage:sender
                    128: {
                    129:   if(mode==NX_FROMINPUT)
                    130:   {
                    131:     mode=NX_FROMVIEW;
                    132:     [videoView stop:self];
                    133:     [videoView setOutputMode:NX_FROMVIEW];
                    134:     [inputBox removeFromSuperview];
                    135:     [[window contentView] addSubview:outputBox];
                    136:     [ioPopup setTitle:"Output"];
                    137:     [window display];
                    138:   }
                    139:   [videoView setImage:self];
                    140:   return self;
                    141: }
                    142: 
                    143: @end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.