VxWorks如何实现2D图形绘制

小编给大家分享一下VxWorks如何实现2D图形绘制,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的荔波网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

VxWorks的WindML除了支持最基本的2D图形绘制,还封装了三种控件:Window、Menu、Button。跑一个最简单的例子,祝大家春节快乐

VxWorks如何实现2D图形绘制

源码如下


#include
UGL_LOCAL UGL_STATUS cbDraw    (    WIN_ID   winId,      /* window ID */                                    WIN_MSG *pMsg,       /* message (always MSG_DRAW) */                                        void    *pData,      /* copy of data passed to winCreate() */                  void    *pParam      /* parameter passed to winCbAdd() */      )    {    /* 使用浅蓝色填充window */    uglBackgroundColorSet(pMsg->data.draw.gcId, WIN_LIGHTBLUE);    uglLineWidthSet(pMsg->data.draw.gcId, 0);    uglRectangle(pMsg->data.draw.gcId, pMsg->data.draw.rect.left,                 pMsg->data.draw.rect.top, pMsg->data.draw.rect.right,                 pMsg->data.draw.rect.bottom);
   /* 在window内绘制白色文本 */    uglForegroundColorSet(pMsg->data.draw.gcId, WIN_WHITE);    uglFontSet(pMsg->data.draw.gcId, WIN_FONT_SMALL);    uglTextDrawW(pMsg->data.draw.gcId, 10, 10, -1, "春节快乐");
   /* return UGL_STATUS_FINISHED because default handling not needed */    return UGL_STATUS_FINISHED;    }
void testWin()    {    WIN_APP_ID appId;    WIN_ID     winId;
   /* 创建一个application context */    appId = winAppCreate("New Year", 0, 0, 0, UGL_NULL);
   /* 创建一个带边框的可见window */    winId = winCreate(appId, UGL_NULL_ID,                       WIN_ATTRIB_FRAMED | WIN_ATTRIB_VISIBLE,                       100, 100, 200, 150, UGL_NULL, 0, UGL_NULL);
   /* 添加MSG_DRAW的回调,当window被绘制时调用 */    winCbAdd(winId, MSG_DRAW, 0, cbDraw, UGL_NULL);
    /* 把window贴到屏幕上 */    winAttach(winId, UGL_NULL_ID, UGL_NULL_ID);    }

以上是“VxWorks如何实现2D图形绘制”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


分享标题:VxWorks如何实现2D图形绘制
网页链接:http://scyanting.com/article/pdojcd.html