quakeforge/tools/Forge/Bundles/MapEdit/XYView.h

78 lines
1.3 KiB
C
Raw Normal View History

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