小编给大家分享一下VxWorks如何实现2D图形绘制,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
源码如下
#include <ugl/uglWin.h>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图形绘制”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4470120/blog/4954546