This is BackgCtr.m in view mode; [Download] [Up]
#import "../BackgCtr.h" #import <appkit/Application.h> #import <appkit/publicWraps.h> #import <appkit/Control.h> #import <appkit/MenuCell.h> #import <appkit/workspaceRequest.h> #import <objc/NXBundle.h> /* LocalizedString */ #import <defaults/defaults.h> #import <stdio.h> #import <stdlib.h> #import <string.h> #import <objc/zone.h> #import <bsd/libc.h> #import <mach/mach_init.h> #import "../TVController.h" #import "../ToyWin.h" #import "../ToyView.h" #import "../common.h" #import "../strfunc.h" #import "Background.h" @implementation BackgCtr NXZone *backZone; - init { backWin = nil; backZone = NULL; return self; } - cleanBackground: sender { if (backWin == nil) return nil; [backWin free]; backWin = nil; NXDestroyZone(backZone); backZone = NULL; [theController backWinFront: NO]; [theController backgMenuEnabled: NO]; return self; } - makeFront: sender { id v; if (backWin == nil) return nil; if ([(v = [backWin contentView]) isFront]) /* toggle */ [v toBehind: self]; else [v toFront: self]; return self; } /* Local Method */ - viewOfBackground { NXRect rect; Background *view; if (backWin) return [backWin contentView]; [NXApp getScreenSize: &rect.size]; rect.origin.x = rect.origin.y = 0; if (backZone == NULL) backZone = NXCreateZone(vm_page_size, vm_page_size, YES); view = [[Background allocFromZone: backZone] initFrame: &rect]; backWin = [view initWinAttr]; return view; } - setImage:(NXImage *)backimage hasAlpha:(BOOL)alpha with:(int)method { Background *view; id rtn; view = [self viewOfBackground]; rtn = [view setImage: backimage hasAlpha: alpha with: method]; [theController backgMenuEnabled: YES]; [backWin display]; NXPing(); return rtn; /* If nil Err_Memory */ } - setStream: (NXStream *)stream with: (int)method { Background *view; id rtn; view = [self viewOfBackground]; rtn = [view setStream: stream with: method]; [theController backgMenuEnabled: YES]; [backWin display]; NXPing(); return rtn; /* If nil Err_Memory */ } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.