図形を描画するには ?
図形を描画するには、IGraphics インターフェイスの関数を使用します。
SophiaFramework では、SFBGraphics や SFXGraphics の各関数を使用します。
図形の描画をするため、以下の関数を記載します。
関数名 [BREW] | 関数名 [SophiaFramework] | 処理概要 |
---|---|---|
IGRAPHICS_DrawLine | SFBGraphics::DrawLine SFXGraphics::DrawLine |
線を描画します。 |
IGRAPHICS_DrawPolyline | SFBGraphics::DrawPolyline SFXGraphics::DrawPolyline |
連結された線を描画します。 |
IGRAPHICS_DrawTriangle | SFBGraphics::DrawTriangle SFXGraphics::DrawTriangle |
三角形を描画します。 |
IGRAPHICS_DrawRect | SFBGraphics::DrawRect SFXGraphics::DrawRectangle |
四角形を描画します。 |
IGRAPHICS_DrawRoundRectangle | SFBGraphics::DrawRoundRectangle SFXGraphics::DrawRoundRectangle |
角の丸い四角形を描画します。 |
IGRAPHICS_DrawPolygon | SFBGraphics::DrawPolygon SFXGraphics::DrawPolygon |
多角形を描画します。 |
IGRAPHICS_DrawCircle | SFBGraphics::DrawCircle SFXGraphics::DrawCircle |
円を描画します。 |
IGRAPHICS_DrawEllipse | SFBGraphics::DrawEllipse SFXGraphics::DrawEllipse |
楕円を描画します。 |
IGRAPHICS_DrawPie | SFBGraphics::DrawPie SFXGraphics::DrawPie |
扇形を描画します。 |
角の丸い四角形を描画するサンプル コードを、以下に示します。
[ BREW API のみを使用したコード ]
// // 角の丸い四角形を描画します。 // IGraphics* graphics = app->g; AEERect rect = {0}; // 画面を緑色でクリアします。 IGRAPHICS_SetBackground(graphics, 0xCC, 0xFF, 0xCC); IGRAPHICS_ClearViewport(graphics); // 塗り潰しモードを設定します。 IGRAPHICS_SetFillMode(graphics, TRUE); // 描画色を赤色に設定します。 IGRAPHICS_SetColor(graphics, 0xFF, 0x88, 0x88, 0x00); IGRAPHICS_SetFillColor(graphics, 0xFF, 0xCC, 0xCC, 0x00); // 角の丸い四角形を描画します。 rect.x = 10; rect.y = 10; rect.dx = 60; rect.dy = 50; IGRAPHICS_DrawRoundRectangle(graphics, &rect, 15, 15); // 画面を更新します。 IGRAPHICS_Update(graphics);
[ SophiaFramework を使用したコード ]
// // 角の丸い四角形を描画します。 // SFBGraphicsSmp graphics; SFXRectangle rect; // SFBGraphics インスタンスを作成します。 graphics = SFBGraphics::NewInstance(); // 画面を緑色でクリアします。 graphics->SetBackground(SFXRGBColor(0xCC, 0xFF, 0xCC, 0x00)); graphics->ClearViewport(); // 塗り潰しモードを設定します。 graphics->SetFillMode(true); // 描画色を赤色に設定します。 graphics->SetColor(SFXRGBColor(0xFF, 0x88, 0x88, 0x00)); graphics->SetFillColor(SFXRGBColor(0xFF, 0xCC, 0xCC, 0x00)); // 角の丸い四角形を描画します。 rect.Set(10,10,60,50); graphics->DrawRoundRectangle(&rect, 15, 15); // 画面を更新します。 graphics->Update();