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