quakeforge/tools/Forge/Bundles/MapEdit/XYView.h
2010-11-28 15:31:35 +09:00

77 lines
1.3 KiB
Objective-C

#ifndef XYView_h
#define XYView_h
#include <AppKit/AppKit.h>
#include "QF/mathlib.h"
#include "SetBrush.h"
#include "render.h"
extern id xyview_i;
#define MINSCALE 0.125
#define MAXSCALE 2.0
extern vec3_t xy_viewnormal; // v_forward for xy view
extern float xy_viewdist; // clip behind this plane
extern NSRect xy_draw_rect;
void linestart (float r, float g, float b);
void lineflush (void);
void linecolor (float r, float g, float b);
void XYmoveto (vec3_t pt);
void XYlineto (vec3_t pt);
@interface XYView:NSView
{
NSRect realbounds, newrect, combinedrect;
NSPoint midpoint;
int gridsize;
float scale;
// for textured view
int xywidth, xyheight;
float *xyzbuffer;
unsigned *xypicbuffer;
drawmode_t drawmode;
// UI links
id mode_radio_i;
}
-(float) currentScale;
-setModeRadio:m;
-drawMode:sender;
-setDrawMode:(drawmode_t) mode;
-newSuperBounds;
-newRealBounds:(NSRect) nb;
-addToScrollRange: (float) x:(float) y;
-setOrigin:(NSPoint) pt scale:(float) sc;
-centerOn:(vec3_t) org;
-drawMode:sender;
-superviewChanged;
-(int) gridsize;
-(float) snapToGrid:(float) f;
@end
@interface NSView(XYView)
-(void) setFrame:(NSRect) frame bounds:(NSRect) bounds scale:(NSSize) scale;
@end
#endif // XYView_h