Direct2D には D2D1_RECT_F があります
{
FLOAT left;
FLOAT top;
FLOAT right;
FLOAT bottom;
}
float 値を使用する点を除いて、GDI RECT 構造に似ています。
typedef struct tagRECT
{
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT;
GDI は、次のようなすべての RECT 操作関数を提供します。
BOOL IntersectRect(
_Out_ LPRECT lprcDst,
_In_ const RECT *lprcSrc1,
_In_ const RECT *lprcSrc2
);
BOOL SubtractRect(
_Out_ LPRECT lprcDst,
_In_ const RECT *lprcSrc1,
_In_ const RECT *lprcSrc2
);
Direct2D が D2D1_RECT_F に対して同様の関数を提供していないとは信じられません。
長方形のジオメトリを作成して好きなように組み合わせることができると思いますが、それは単純な計算を行う代わりに、オブジェクトを作成して割り当てることです。または、それらの独自のバージョンを作成するだけかもしれません。
何か不足していますか?ありがとう。