2011-10-14 12:42
IDisplay可以画图形,画文本,画图片等等,很常用;IDispCanvas是对IDisplay的封装,貌似不常用。
IDispCanvas是包含IDisplay,如果需要,可自己创建IDispCanvas(画布),然后在其上绘制
RootContainer是包含IDispCanvas的,将容器内的控件(IWidget)都绘制其上。
CanvasWidget是包含IDisplay的,专门用来绘制的控件。
CanvasWidget很好用,推荐用!
DIB_t
DIB(Device Independent Bitmap)即设备无关位图。在MSTAR上,它不是接口类,只是一个结构体(DIB_t),其成员包含位图的宽(nWidth),高(nHeight),色深(nBpp),屏幕内存缓冲区的地址(nAddr)和大小(nSize)。
IBitmap
IBitmap即位图接口类。它包含DIB_t;它具备Alpha透明(Transparency),指定透明色(TransColor),透明类型(TansType),色彩方案(nColorScheme:RBG565等),调色板(pPalette),调色板颜色数(nCntPalette),脏矩形区域(tRcDirtyArea)等属性;还提供设置或获取某点颜色(SetPixel/GetPixel),画水平或竖直线(DrawHLine/DrawVLine),填充矩形区域(FillRect),位图复制与伸缩(BltIn/StretchBlt),获取DIB(GetDib)等接口。
IBitmapExt
IBitmapExt即IBitmap的扩展(Extend)。扩展提供了设置调色板(SetPalette),设置或读取脏区域(GetDirtyArea/SetDirtyArea),渐出(BltInFadeOut),长宽交换(DimensionSwitch)等接口。
IDisplay
IDisplay即显示接口类。它包含IBitmap和IFont;除了具备IBitmap和IFont的属性外,还具备宽(nWidth),高(nHeight),颜色(nColorItem:字体色,背景等),用户区域(tRcCA),显示模式(nDispMode:PORTRAIT,LANDSCAPE,LANDSCAPE_270等),屏幕ID(nDispId:MAIN_DISPLAY,SUB_DISPLAY)等属性;除了能提供继承自IBitmap和IFont的接口外,还提供画线(DrawLine),画矩形(DrawRect),画三角形(DrawTriangle),画弧形(DrawArc),画椭圆(DrawEllipse),绘制彩色字符串(DrawColorfulText),获取系统位图(GetDeviceBitmap),创建位图(CreateBitmap),清屏(ClearScreen),刷屏(Update),渐出(FadeOut)等接口。(注明:IDisplay支持横竖屏,还可通过宏控制,支持多层)
IDispCanvas
IDispCanvas即显示画布接口类。它包含IDisplay。仅提供SetDisplay/GetDisplay,SetBitmap/GetBitmap,SetCARect/GetCARect等接口(注明:IDispCanvas也继承了IDisplay层操作接口)
IFont
IFont即字体接口类。它具备字体高(nHeight)等属性,它提供绘制字符串(DrawText),测量字符串长度(MeasureText),创建字形位图(CreateGlyphDib)等接口。(注明:IFONT_DrawText()是将字符绘制到IBitmap上)
IImage
IImage即图片接口类。它是用于图片绘制的,具备IDisplay和IBitmap,图片大小(tImgSize),文件数据流(pStream)等属性;它提供了解码帧(DecodeFrame),绘制帧(DrawFrame),以及播放动画的开始(Start)和停止(Stop),绘制(Draw),获取图片信息(GetImageInfo:nWidth,nHeight,nFrames,nFormat等),获取图片格式(GetImageFormat:BMP,PNG,JPG,GIF等),是否动画(IsAnimation),获取图片大小(GetImageSize:nWidth,nHeight),获取结果位图(GetResultBmp),设置或获取解码参数(SetDecodeParm/GetDecodeParam:nWidth,nHeight,nAngle,tRegion等),设置或清除数据(SetSrcBuffer/ClearSrcBuffer),设置数据源(SetSrcURL),设置(SetDisplay),注册或注销通知(RegNotify/DeregNotify),设置自动解码(SetAutoDecode),设置异步解码(SetForceAsyncDecode)等接口。(注明:IIMAGE_Draw()是将图片绘制到IDisplay上)
IImageMaker
IImageMaker即图片生成接口类。它是用于生成图片,提供了将图片文件旋转(Rotate:90,180,270等),将IBitmap或IImage编码到内存缓冲区(Encode:BMP,JPG),将IBitmap或IImage保存到文件(SaveAs:BMP,JPG)等接口。