さらに描画のおはなし - 1 / 2 -
static void Graphix_ClipRectUseIDisplay(GraphixApplet* app)
{
IDisplay* display = app->a.m_pIDisplay;
AEERect clip;
AEERect rect;
const AECHAR str[] = {'B','R','E','W',' ','B','R','E','W',' ',
'B','R','E','W','\0'};
// 画面を緑色でクリア
IDISPLAY_SetColor(display,CLR_USER_BACKGROUND,MAKE_RGB(0xCC,0xFF,0xCC));
IDISPLAY_ClearScreen(display);
// クリッピング領域を四角形に設定
clip.x = 20;
clip.y = 20;
clip.dx = 80;
clip.dy = 80;
IDISPLAY_SetClipRect(display,&clip);
// 描画色を赤色で四角形を描画
rect.x = 10;
rect.y = 10;
rect.dx = 60;
rect.dy = 50;
IDISPLAY_DrawRect(display,&rect,MAKE_RGB(0xFF,0x88,0x88),MAKE_RGB(0xFF,0xCC,0xCC),
IDF_RECT_FRAME | IDF_RECT_FILL);
// 文字色を黒色に設定
IDISPLAY_SetColor(display,CLR_USER_TEXT,MAKE_RGB(0x00,0x00,0x00));
// 文字列を描画
IDISPLAY_DrawText(display,AEE_FONT_NORMAL,str,-1,0,55,NULL,IDF_TEXT_TRANSPARENT);
IDISPLAY_DrawText(display,AEE_FONT_NORMAL,str,-1,20,70,NULL,IDF_TEXT_TRANSPARENT);
// クリッピング領域をリセット
IDISPLAY_SetClipRect(display,NULL);
// 画面更新
IDISPLAY_Update(display);
return;
}