typedef struct { short mode ; union { pointinfo_t pinfo ; circleinfo_t cinfo ; lineinfo_t linfo ; } object ; } drawinfo_t ; typedef struct { short x ; short y ; char color[COLOR_NAME_MAX] ; } pointinfo_t ; typedef struct { short x ; short y ; short r ; char color[COLOR_NAME_MAX] ; } circleinfo_t ; typedef struct { short x1 ; short y1 ; short x2 ; short y2 ; char color[COLOR_NAME_MAX] ; } lineinfo_t ;
共用体が含んでいるメッセージタイプは mode によって決定される.
DrawClear 0 DrawPoint 1 DrawCircle 2 DrawLine 3