solvespace/solvespace.h
Jonathan Westhues f201d52247 Add hyperlink and colour support to the text window. Don't redraw
the text window every time we refresh the graphics window, because
that's slow. Use classes instead of structs for everything; I don't
understand the template handling for structs. And implement the
IdList, which I will try to use in many places.

[git-p4: depot-paths = "//depot/solvespace/": change = 1655]
2008-03-28 02:00:37 -08:00

52 lines
1.2 KiB
C++

#ifndef __SOLVESPACE_H
#define __SOLVESPACE_H
// Debugging functions
#define oops() do { dbp("oops at line %d, file %s", __LINE__, __FILE__); \
exit(-1); } while(0)
#ifndef min
#define min(x, y) ((x) < (y) ? (x) : (y))
#endif
#ifndef max
#define max(x, y) ((x) > (y) ? (x) : (y))
#endif
void dbp(char *str, ...);
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include "dsc.h"
#include "ui.h"
#include "sketch.h"
void Invalidate(void);
#define arraylen(x) (sizeof((x))/sizeof((x)[0]))
#define PI (3.1415926535897931)
void MakeMatrix(double *mat, double a11, double a12, double a13, double a14,
double a21, double a22, double a23, double a24,
double a31, double a32, double a33, double a34,
double a41, double a42, double a43, double a44);
class SolveSpace {
public:
TextWindow TW;
GraphicsWindow GW;
IdList<Request,hRequest> req;
IdList<Entity,hEntity> entity;
IdList<Point,hPoint> point;
IdList<Param,hParam> param;
void Init(void);
};
extern SolveSpace SS;
#endif