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.
126 lines
4.6 KiB
126 lines
4.6 KiB
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);
|
|
|
|
}
|
|
}
|
|
|