This is more or less a direct translation of the code from the Microsoft example (however using a
rectF rather than a
pointF):
Code: Select all
predicates
onPaint : window::paintresponder.
clauses
onPaint(_, _, GDI) :-
HDC = GDI:getNativeGraphicContext(IsReleaseNeeded),
Graphics = graphics::createFromHDC(HDC),
FontFamily = fontFamily::createFromName("Lucida Console"),
Font = font::createFromFontFamily(FontFamily, 14, gdiplus_native::fontStyleRegular, gdiplus_native::unitPoint),
RectF = gdiplus::rectF(40, 10, 50, 110),
StringFormat = stringFormat::create(),
StringFormat:formatFlags := gdiplus_native::stringFormatFlagsDirectionVertical,
SolidBrush = solidBrush::create(color::create(255, 0, 0, 255)),
Graphics:drawString("Vertical text", Font, RectF, StringFormat, SolidBrush),
Graphics:delete(),
GDI:releaseNativeGraphicContext(HDC, IsReleaseNeeded).