mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-07 21:50:05 +00:00
cdc79ae6f8
Start "modernizing" the code base; old code is based heavily in the Smalltalk style, where everything that doesn't return a different object returns self. This can be useful, but it isn't what is usually done these days. Also, add type information (which didn't exist in "the old days" -- an object was an "id", not a "Foo *") to help with debugging.
76 lines
1.3 KiB
Objective-C
76 lines
1.3 KiB
Objective-C
#ifndef CameraView_h
|
|
#define CameraView_h
|
|
|
|
#include <AppKit/AppKit.h>
|
|
|
|
#include "QF/mathlib.h"
|
|
|
|
#include "SetBrush.h"
|
|
|
|
#include "render.h"
|
|
|
|
extern id cameraview_i;
|
|
|
|
extern byte renderlist[1024 * 1024 * 4];
|
|
|
|
void CameraMoveto (vec3_t p);
|
|
void CameraLineto (vec3_t p);
|
|
|
|
extern BOOL timedrawing;
|
|
|
|
@interface CameraView:NSView
|
|
{
|
|
float xa, ya, za;
|
|
float move;
|
|
|
|
float *zbuffer;
|
|
unsigned *imagebuffer;
|
|
|
|
BOOL angleChange; // JR 6.8.95
|
|
|
|
vec3_t origin;
|
|
vec3_t matrix[3];
|
|
|
|
NSPoint dragspot;
|
|
|
|
drawmode_t drawmode;
|
|
|
|
NSBezierPath *xycamera;
|
|
NSBezierPath *xycamera_aim;
|
|
NSBezierPath *zcamera;
|
|
|
|
// UI links
|
|
id mode_radio_i;
|
|
|
|
}
|
|
|
|
-setXYOrigin:(NSPoint *) pt;
|
|
-setZOrigin:(float) pt;
|
|
|
|
-setOrigin:(vec3_t)
|
|
org
|
|
angle:(float)angle;
|
|
|
|
-getOrigin:(vec3_t)org;
|
|
|
|
-(float) yawAngle;
|
|
|
|
-matrixFromAngles;
|
|
-_keyDown:(NSEvent *)theEvent;
|
|
|
|
-drawMode:sender;
|
|
-setDrawMode:(drawmode_t) mode;
|
|
|
|
-homeView:sender;
|
|
|
|
- (void) XYDrawSelf; // for drawing viewpoint in XY view
|
|
- (void) ZDrawSelf; // for drawing viewpoint in XY view
|
|
-(BOOL) XYmouseDown:(NSPoint *)pt flags:(int)flags;// return YES if brush handled
|
|
|
|
-(BOOL) ZmouseDown:(NSPoint *)pt flags:(int)flags;// return YES if brush handled
|
|
|
|
-upFloor:sender;
|
|
-downFloor:sender;
|
|
|
|
@end
|
|
#endif // CameraView_h
|