二维光栅图形软件包SRGP
1、软件包绘图
基本线画图元:直线段、折线、多边形、圆弧、字符等
点PutPixel、直线段LineCoord/Line、折线PolylineCoord/Polyline
标记Marker
多边形PolygonCoord/Polygen(矩形Rectangle)
圆弧CircleArc、椭圆弧EllipseArc(圆心center、半径radius)
图元属性:线型Set**Style、线宽Set**Width、颜色SetColor、笔型(标记属性:尺寸、类型)
填充图元Fill**:矩形、多边形、椭圆、扇形图
填充方式SetFillStyle:solid、bitmap_pattern_opaque、bitmap_pattern_transparent、pixmap_pattern (bitmap位元、 pixmap像素图)
保存属性InquireAttributes、恢复属性SetAttributes
字符:基线、实高、底高、字高、原点、字宽
2、交互处理
交互原则:简单一致的交互操作序列、可选项、不繁杂、有反馈、可取消
整型坐标系-》输出设备无关系-》软件可移植性
逻辑输入设备输入方式:取样sample、事件驱动event
输入设备
键盘设备
取样SetInputMode(keyboard,sample)
事件驱动SetInputMode(keyboard,event);SetKeyboardProcessingMode(edit/raw);WaitEvent();GetKeyBoard()
属性:初始化SetKeyboardEchoOrigin、缺省状态SetKeyboardMeasure
定位设备
取样SetInputMode(locator,sample)
事件驱动SetInputMode(locator,event);SetLocatorButtonMask();WaitEvent();GetKeyBoard()
属性:反馈SetLocatorEchoType
3、光栅操作
画布:保存菜单和屏幕上一块图像的图元
创建CreateCanvas、删除DeleteCanvas、激活UseCanvas、查询大小InquireCanvasExtent/InquireCanvasSize
裁剪窗口:由clipRect定义的矩形区域
位拷贝CopyPixel
显示模式(光栅运算):覆盖、或、异或、与