📄 render_shape.h.svn-base
字号:
#ifndef _SHAPE_H_#define _SHAPE_H_#include "base_types.h"#include "render_rend.h"#include "shape_def.h"typedef struct LineStyle LineStyleDef;typedef enum ShapeFlags { flagsMoveTo = 0x01, flagsFill0 = 0x02, flagsFill1 = 0x04, flagsLine = 0x08, flagsNewStyles = 0x10, flagsEndShape = 0x80}ShapeFlags;typedef struct ShapeRecord ShapeRecord;typedef enum ShapeAction { ShapeDraw, ShapeGetRegion}ShapeAction;typedef struct LineSegment { long x1,y1,x2,y2; char first; LineStyleDef *l; struct LineSegment *next;}LineSegment;typedef struct Path { long lastX,lastY; int nb_edges; int nb_segments;}Path;typedef struct StyleList { FillStyleDef *newFillStyles; // Array long nbNewFillStyles; LineStyleDef *newLineStyles; // Array long nbNewLineStyles; struct StyleList *next;}StyleList;/* state of the shape parser */typedef struct ShapeParser { StyleList *style_list; struct Matrix *matrix; Path curPath; int reverse; /* line rasteriser */ LineSegment *first_line,*last_line; GraphicDevice *gd; struct CxFormWithAlpha *cxform; struct DefineShape *shape; FillStyleDef *f0; FillStyleDef *f1; LineStyleDef *l;}ShapeParser;typedef struct DefineShape Shape;typedef struct ShapeDef { FillStyleDef defaultFillStyle; LineStyleDef defaultLineStyle; struct Matrix lastMat; int getAlpha, getStyles;}ShapeDef;void setBoundingBox(Shape *shape,struct RECT rect);int shapeexecute(struct GraphicDevice *gd, struct DefineShape *shape,struct Matrix *matrix, struct CxFormWithAlpha *cxform);void shapeGetRegion(GraphicDevice *gd,Shape *shape, struct Matrix *matrix,void *id, ScanLineFunc scan_line_func);void shapeGetBoundingBox(Shape *shape,struct RECT *bb);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -