小编给大家分享一下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图形绘制”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!