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

120 lines
2.1 KiB
C
Raw Normal View History

#ifndef TexturePalette_h
#define TexturePalette_h
#include <AppKit/AppKit.h>
#include "QF/qtypes.h"
2010-09-11 10:06:04 +00:00
typedef union {
byte chan[4];
unsigned p;
} pixel32_t;
2010-09-11 10:06:04 +00:00
typedef struct {
char texture[16];
float rotate;
float shift[2];
float scale[2];
} texturedef_t;
2010-09-11 10:06:04 +00:00
typedef struct {
char name[16];
int width;
int height;
NSBitmapImageRep *rep;
void *data;
pixel32_t flatcolor;
} qtexture_t;
#define MAX_TEXTURES 1024
2010-09-11 10:06:04 +00:00
extern int tex_count;
extern qtexture_t qtextures[MAX_TEXTURES];
void TEX_InitFromWad (const char *path);
qtexture_t *TEX_ForName (char *name);
2010-09-11 10:06:04 +00:00
typedef struct {
NSImageRep *image;
2010-09-11 10:06:04 +00:00
NSRect r;
char *name;
int index;
int display; // flag (on/off)
} texpal_t;
#define TEX_INDENT 10
#define TEX_SPACING 16
2010-09-11 10:06:04 +00:00
extern id texturepalette_i;
2010-09-11 16:41:18 +00:00
@interface TexturePalette:NSObject
{
2010-09-11 10:06:04 +00:00
char currentwad[1024];
id textureList_i;
id textureView_i;
id searchField_i;
id sizeField_i;
id field_Xshift_i;
id field_Yshift_i;
id field_Xscale_i;
id field_Yscale_i;
id field_Rotate_i;
int viewWidth;
int viewHeight;
int selectedTexture;
}
2010-09-11 10:06:04 +00:00
-(char *) currentWad;
-initPaletteFromWadfile:(const char *) wf;
2010-09-11 10:06:04 +00:00
-computeTextureViewSize;
-alphabetize;
-getList;
-(int) getSelectedTexture;
-setSelectedTexture:(int) which;
-(int) getSelectedTexIndex;
// Called externally
2010-09-11 10:06:04 +00:00
-(char *) getSelTextureName;
-setTextureByName:(char *) name;
// New methods to replace the 2 above ones
2010-09-11 10:06:04 +00:00
-setTextureDef:(texturedef_t *) td;
-getTextureDef:(texturedef_t *) td;
// Action methods
2010-09-11 10:06:04 +00:00
-searchForTexture:sender;
2010-09-11 10:06:04 +00:00
-clearTexinfo:sender;
2010-09-11 10:06:04 +00:00
-incXShift:sender;
-decXShift:sender;
2010-09-11 10:06:04 +00:00
-incYShift:sender;
-decYShift:sender;
2010-09-11 10:06:04 +00:00
-incRotate:sender;
-decRotate:sender;
2010-09-11 10:06:04 +00:00
-incXScale:sender;
-decXScale:sender;
2010-09-11 10:06:04 +00:00
-incYScale:sender;
-decYScale:sender;
2010-09-11 10:06:04 +00:00
-texturedefChanged:sender;
-onlyShowMapTextures:sender;
-(int) searchForTextureInPalette:(char *) texture;
-setDisplayFlag:(int)
index
to:(int)
value;
@end
2010-09-11 10:06:04 +00:00
#endif // TexturePalette_h