128 lines
3.0 KiB
C++
128 lines
3.0 KiB
C++
#help_index "Graphics"
|
|
#define GRST_END 0
|
|
//Unused
|
|
#define GRST_COLOR8 2
|
|
//Unused
|
|
#define GRST_PT 4
|
|
#define GRST_LINE 5
|
|
#define GRST_POLYLINE 6
|
|
#define GRST_POLYPT 7
|
|
#define GRST_WIDTH 8
|
|
#define GRST_SHIFT 9
|
|
#define GRST_BSPLINE2 10
|
|
#define GRST_BSPLINE3 11
|
|
#define GRST_BSPLINE2_CLOSED 12
|
|
#define GRST_BSPLINE3_CLOSED 13
|
|
//Unused
|
|
//Unused
|
|
//Unused
|
|
#define GRST_RECT 17
|
|
#define GRST_CIRCLE 18
|
|
#define GRST_FLOOD_FILL_NOT 19
|
|
#define GRST_FLOOD_FILL 20
|
|
#define GRST_BITMAP8 21
|
|
//Unused
|
|
#define GRST_TEXT 23
|
|
#define GRST_ELLIPSE 24
|
|
#define GRST_REG_POLY 25
|
|
#define GRST_PLANAR_SYMMETRY 26
|
|
#define GRST_DITHER_COLOR8 27
|
|
#define GRST_ROTATED_RECT 28
|
|
#define GRST_MESH 29
|
|
#define GRST_SHIFTABLE_MESH 30
|
|
#define GRST_TRANSFORM_ON 31
|
|
#define GRST_TRANSFORM_OFF 32
|
|
#define GRST_ARROW 33
|
|
#define GRST_TEXT_BOX 34
|
|
#define GRST_TEXT_DIAMOND 35
|
|
#define GRST_NUM_TYPES 36
|
|
|
|
U0 GrInit()
|
|
{
|
|
DefineListLoad("ST_CSPRITE_TYPES","End\0 \0Color 8Bit\0 \0Point\0"
|
|
"Line\0PolyLine\0PolyPoint\0Width\0Shift\0"
|
|
"BSpline2\0BSpline3\0BSpline2 Closed\0BSpline3 Closed\0"
|
|
" \0 \0 \0Rect\0Circle\0Flood Fill Not Color\0Flood Fill\0BitMap 8Bit\0"
|
|
" \0Text\0Ellipse\0Reg Polygon\0Planar Symmetry\0"
|
|
"Dither Color 8Bit\0Rotated Rect\0Mesh\0Shiftable Mesh\0"
|
|
"Transform On\0Transform Off\0Arrow\0Text Box\0Text Diamond\0");
|
|
}
|
|
GrInit;
|
|
|
|
class CMeshTri
|
|
{
|
|
I32 color; //Give one of 0-7 colors. Colors 8-15 are 0-7 with intensity bit set.
|
|
I32 nums[3]; //Vertex number
|
|
};
|
|
|
|
public class CSprite
|
|
{
|
|
//See $LK,"Graphics/CSprite","HI:Graphics/CSprite"$
|
|
//See $LK,"::/SparrowOS/Adam/Gr/GrSpritePlot.CPP.Z","FL:::/SparrowOS/Adam/Gr/GrSpritePlot.CPP.Z,1"$ for how CSprite are stored.
|
|
CSprite *next,*last;
|
|
|
|
U0 start;
|
|
U8 type;
|
|
union {
|
|
U8 color8;
|
|
U16 dither_color8;
|
|
I32 x1;
|
|
I32 num;
|
|
I32 width;
|
|
I32 vertex_cnt; //Mesh
|
|
}
|
|
union {
|
|
I32 y1;
|
|
I32 height;
|
|
I32 triangle_cnt; //Mesh
|
|
}
|
|
union {
|
|
I32 z1;
|
|
I32 x2;
|
|
U8 st[4];
|
|
}
|
|
union {
|
|
I32 y2;
|
|
I32 shiftable_vertex_cnt //Shiftable Mesh
|
|
}
|
|
union {
|
|
F64 linespeed;
|
|
F64 rot_angle;
|
|
I32 shiftable_triangle_cnt //Shiftable Mesh
|
|
}
|
|
I32 sides;
|
|
};
|
|
|
|
|
|
extern CDC *DCNew(I64 type,I64 width,I64 height,CTask *task=NULL,Bool null_bitmap=FALSE);
|
|
extern CDC *DCAlias(CDC *dc=NULL,CTask *task=NULL);
|
|
extern U0 DCDel(CDC *dc);
|
|
extern U0 EdExistingGraphic(CDoc *doc,I64 x,I64 y,I64 *import_snap=NULL,F64 *import_ip_scaler=NULL);
|
|
extern CSprite *CSpriteDoc2Que(CDoc *doc,CSprite *root,I64 *cur_num);
|
|
extern Bool GrBlot3(CDC *dc,I64 x1,I64 y1,I64 z1,CDC *img);
|
|
extern U8 *GrBitMap4ToBitMap8(U8 *dst,U8 *src,I64 src_size,I64 bkcolor);
|
|
|
|
#include "GrCfg"
|
|
#include "GrAsm"
|
|
#include "MathGr"
|
|
#include "GrScreen"
|
|
#include "GrDC"
|
|
#include "GrBitMap"
|
|
#include "GrPrimatives"
|
|
#include "GrComposites"
|
|
#include "GrChar"
|
|
|
|
#define GE_CANCEL (-1)
|
|
#define GE_OKAY_DONE 0
|
|
#define GE_OKAY_CONT 1
|
|
|
|
#include "CSpriteNew"
|
|
#include "GrSpritePlot"
|
|
#include "CSpriteMesh"
|
|
#include "CSpriteBitMap"
|
|
#include "CSpriteVect"
|
|
#include "CSpriteEd"
|
|
#include "GrVectMap"
|
|
#help_index ""
|
|
|