render_shape.h.svn-base

来自「A Flash Player with ActionScript support」· SVN-BASE 代码 · 共 83 行

SVN-BASE
83
字号
#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 + =
减小字号Ctrl + -
显示快捷键?