PR# 19679 WEL_GDIP_STRING_FORMAT
Problem Report Summary
Submitter: hcater
Category: WEL
Priority: Low
Date: 2020/10/27
Class: Feature Request
Severity: Non-critical
Number: 19679
Release: 20.05
Confidential: No
Status: Open
Responsible:
Environment: win
Synopsis: WEL_GDIP_STRING_FORMAT
Description
Just a request to add the following features:
set_alignment (a_value : INTEGER)
-- StringAlignmentNear = 0
-- StringAlignmentCenter = 1
-- StringAlignmentFar = 2
local
l_result: INTEGER
do
l_result := c_gdip_set_string_format_align (gdi_plus_handle, item, a_value)
check ok: l_result = {WEL_GDIP_STATUS}.ok end
end
set_line_alignment (a_value : INTEGER)
-- StringAlignmentNear = 0
-- StringAlignmentCenter = 1
-- StringAlignmentFar = 2
local
l_result: INTEGER
do
l_result := c_gdip_set_string_format_line_align (gdi_plus_handle, item, a_value)
check ok: l_result = {WEL_GDIP_STATUS}.ok end
end
feature {NONE} -- C externals
c_gdip_set_string_format_align (a_gdiplus_handle, a_format: POINTER; a_value: INTEGER): INTEGER
require
a_gdiplus_handle_not_null: a_gdiplus_handle /= default_pointer
external
"C inline use %"wel_gdi_plus.h%""
alias
"[
{
static FARPROC GdipSetStringFormatAlign= NULL;
EIF_INTEGER Result = 1;
if (!GdipSetStringFormatAlign) {
GdipSetStringFormatAlign = GetProcAddress ((HMODULE) $a_gdiplus_handle, "GdipSetStringFormatAlign");
}
if (GdipSetStringFormatAlign) {
Result = (EIF_INTEGER) (FUNCTION_CAST_TYPE (GpStatus, WINGDIPAPI, (GpStringFormat *, INT)) GdipSetStringFormatAlign)
((GpStringFormat *) $a_format, (INT) $a_value);
}
return Result;
}
]"
end
c_gdip_set_string_format_line_align (a_gdiplus_handle, a_format: POINTER; a_value: INTEGER): INTEGER
require
a_gdiplus_handle_not_null: a_gdiplus_handle /= default_pointer
external
"C inline use %"wel_gdi_plus.h%""
alias
"[
{
static FARPROC GdipSetStringFormatLineAlign= NULL;
EIF_INTEGER Result = 1;
if (!GdipSetStringFormatLineAlign) {
GdipSetStringFormatLineAlign = GetProcAddress ((HMODULE) $a_gdiplus_handle, "GdipSetStringFormatLineAlign");
}
if (GdipSetStringFormatLineAlign) {
Result = (EIF_INTEGER) (FUNCTION_CAST_TYPE (GpStatus, WINGDIPAPI, (GpStringFormat *, INT)) GdipSetStringFormatLineAlign)
((GpStringFormat *) $a_format, (INT) $a_value);
}
return Result;
}
]"
end
To Reproduce
Problem Report Interactions