您好,登錄后才能下訂單哦!
小編給大家分享一下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圖形繪制”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。