www.pudn.com > GDIPlusCF.zip > StringFormatPlus.cs
using System;
using System.Collections.Generic;
using System.Text;
namespace OpenNETCF.GDIPlus
{
public class StringFormatPlus
{
StringFormatPlus(
int formatFlags,
int language
)
{
nativeFormat = new GpStringFormat();
lastError = NativeMethods.GdipCreateStringFormat(
formatFlags,
language,
out nativeFormat
);
}
~StringFormatPlus()
{
NativeMethods.GdipDeleteStringFormat(nativeFormat);
}
GpStatus GetLastStatus()
{
GpStatus lastStatus = lastError;
lastError = GpStatus.Ok;
return lastStatus;
}
internal GpStatus SetStatus(GpStatus newStatus)
{
if (newStatus == GpStatus.Ok)
{
return GpStatus.Ok;
}
else
{
return lastError = newStatus;
}
}
StringFormatPlus(GpStringFormat clonedStringFormat, GpStatus status)
{
lastError = status;
nativeFormat = clonedStringFormat;
}
internal GpStringFormat nativeFormat;
private GpStatus lastError;
//static byte GenericTypographicStringFormatBuffer[sizeof(StringFormatPlus)] = {0};
//static byte GenericDefaultStringFormatBuffer[sizeof(StringFormatPlus)] = {0};
static StringFormatPlus genericDefault;
static StringFormatPlus GenericDefault
{
get
{
if (genericDefault == null)
{
GpStringFormat fmt;
NativeMethods.GdipCreateStringFormat(0, 0, out fmt);
genericDefault = new StringFormatPlus(fmt, GpStatus.Ok);
}
return genericDefault;
}
}
}
}