![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク : SophiaFramework 3.0 |
クリッピングとは、ある図形からはみだした部分を描画しないようにする機能です。
SFXClip はクリッピングのための図形を表すクラスです。四角形や円、三角形、多角形でクリッピングができます。
よく使用する例として、文字列の一部分を描画する場合があります。四角形でクリッピングしています。

// 黒色 SFXRGBColor black(0x00, 0x00, 0x00, 0x00); // 長方形 SFXRectangle rectangle(10, 10, 150, 55); // 外枠を描画 graphics->DrawRectangle(rectangle, black); // クリッピングを長方形にする SFXClip clip(rectangle); // クリッピングをセット graphics->SetClip(rectangle); // 長方形の左上 SFXGrid grid = rectangle.GetLeftTop(); // フォントの高さ SInt32 fontHeight = graphics->GetFontHeight(); // 文字列の描画 graphics->DrawText("test clipping", grid, black); // 文字列の描画 (grid.AddY(fontHeight) で描画位置を fontHeight だけ下にずらしている) graphics->DrawText("test clipping", grid.AddY(fontHeight), black); graphics->DrawText("test clipping", grid.AddY(fontHeight), black);
SFXGraphics クラスでは、クリッピングに使用する図形は、SFXRectangle だけに制限されています。
SFXRectangle 以外の図形でクリッピングする場合は、SFBGraphics インターフェースを取得して使用します。
// SFBGraphics インターフェースを取得 SFBGraphicsSmp g = graphics->GetGraphics(); // 円 SFXCircle circle(100, 50, 40); // クリッピングを円にする SFXClip clip(circle); // クリッピングをセット g->SetClip(&clip, AEE_GRAPHICS_FRAME); // 塗りつぶし色を設定 g->SetFillColor(SFXRGBColor(0x99, 0x99, 0x99, 0x00)); // 長方形を描画 g->DrawRect(&SFXRectangle(55, 5, 60, 80));

長方形が円でクリッピングされています。
|
Copyright (C) 2002 - 2009 Sophia Cradle, Inc. All Rights Reserved. |
![]() ![]() ![]()
|