Generates XML files for DeltaPro from Amazon invoices
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

127 lines
4.6 KiB

7 years ago
using System;
using System.Runtime.InteropServices;
namespace libxl
{
public class Font
{
public IntPtr handle;
Book book;
public Font(IntPtr handle, Book book)
{
this.handle = handle;
this.book = book;
}
public int size
{
get { return xlFontSize(handle); }
set { xlFontSetSize(handle, value); }
}
public bool bold
{
get { return xlFontBold(handle) > 0; }
set { xlFontSetBold(handle, value ? 1 : 0); }
}
public bool italic
{
get { return xlFontItalic(handle) > 0; }
set { xlFontSetItalic(handle, value ? 1 : 0); }
}
public Underline underline
{
get { return (Underline)xlFontUnderline(handle); }
set { xlFontSetUnderline(handle, (int)value); }
}
public bool strikeOut
{
get { return xlFontStrikeOut(handle) > 0; }
set { xlFontSetStrikeOut(handle, value ? 1 : 0); }
}
public Script script
{
get { return (Script)xlFontScript(handle); }
set { xlFontSetScript(handle, (int)value); }
}
public Color color
{
get { return (Color)xlFontColor(handle); }
set { xlFontSetColor(handle, (int)value); }
}
public string name
{
get
{
IntPtr pStr = xlFontName(handle);
String s = Marshal.PtrToStringAuto(pStr);
return s;
}
set
{
int result = xlFontSetName(handle, value);
if (result == 0)
{
throw new Exception(book.errorMessage());
}
}
}
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlFontSize(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlFontSetSize(IntPtr handle, int size);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlFontItalic(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlFontSetItalic(IntPtr handle, int italic);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlFontStrikeOut(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlFontSetStrikeOut(IntPtr handle, int strikeOut);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlFontColor(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlFontSetColor(IntPtr handle, int color);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlFontBold(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlFontSetBold(IntPtr handle, int bold);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlFontScript(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlFontSetScript(IntPtr handle, int script);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlFontUnderline(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlFontSetUnderline(IntPtr handle, int underline);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlFontName(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlFontSetName(IntPtr handle, string name);
}
}