mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-16 23:34:10 +02:00

Throwing error on member references with ".." cascade token outside invocations (ie: "ts..mA = 123") Fixed 'Thread.ModuleTLSIndex' error - which caused us TLS lookup failures in Beef DLLs Fixed some hotswap errors Made BeefPerf shut down properly Fixed an 'int literal' FixIntUnknown issue where rhs was System.Object which caused an illegal boxing Fixed COFF::LocateSymbol issues with Win32 and also with linking to static libraries - showed up with hot-linking in fmod when hot-adding a floating point mod Fixed a couple memory leaks Fixed alignment issue in COFF::ParseCompileUnit
318 lines
No EOL
7.9 KiB
Beef
318 lines
No EOL
7.9 KiB
Beef
/* SDL2# - C# Wrapper for SDL2
|
|
*
|
|
* Copyright (c) 2013-2016 Ethan Lee.
|
|
*
|
|
* This software is provided 'as-is', without any express or implied warranty.
|
|
* In no event will the authors be held liable for any damages arising from
|
|
* the use of this software.
|
|
*
|
|
* Permission is granted to anyone to use this software for any purpose,
|
|
* including commercial applications, and to alter it and redistribute it
|
|
* freely, subject to the following restrictions:
|
|
*
|
|
* 1. The origin of this software must not be misrepresented; you must not
|
|
* claim that you wrote the original software. If you use this software in a
|
|
* product, an acknowledgment in the product documentation would be
|
|
* appreciated but is not required.
|
|
*
|
|
* 2. Altered source versions must be plainly marked as such, and must not be
|
|
* misrepresented as being the original software.
|
|
*
|
|
* 3. This notice may not be removed or altered from any source distribution.
|
|
*
|
|
* Ethan "flibitijibibo" Lee <flibitijibibo@flibitijibibo.com>
|
|
*
|
|
*/
|
|
|
|
using System;
|
|
|
|
namespace SDL2
|
|
{
|
|
public static class SDLTTF
|
|
{
|
|
/* Similar to the headers, this is the version we're expecting to be
|
|
* running with. You will likely want to check this somewhere in your
|
|
* program!
|
|
*/
|
|
public const int32 SDL_TTF_MAJOR_VERSION = 2;
|
|
public const int32 SDL_TTF_MINOR_VERSION = 0;
|
|
public const int32 SDL_TTF_PATCHLEVEL = 12;
|
|
|
|
public const int32 UNICODE_BOM_NATIVE = 0xFEFF;
|
|
public const int32 UNICODE_BOM_SWAPPED = 0xFFFE;
|
|
|
|
public const int32 TTF_STYLE_NORMAL = 0x00;
|
|
public const int32 TTF_STYLE_BOLD = 0x01;
|
|
public const int32 TTF_STYLE_ITALIC = 0x02;
|
|
public const int32 TTF_STYLE_UNDERLINE = 0x04;
|
|
public const int32 TTF_STYLE_STRIKETHROUGH = 0x08;
|
|
|
|
public const int32 TTF_HINTING_NORMAL = 0;
|
|
public const int32 TTF_HINTING_LIGHT = 1;
|
|
public const int32 TTF_HINTING_MONO = 2;
|
|
public const int32 TTF_HINTING_NONE = 3;
|
|
|
|
public static void SDL_TTF_VERSION(out SDL.Version X)
|
|
{
|
|
X.major = SDL_TTF_MAJOR_VERSION;
|
|
X.minor = SDL_TTF_MINOR_VERSION;
|
|
X.patch = SDL_TTF_PATCHLEVEL;
|
|
}
|
|
|
|
[LinkName("TTF_LinkedVersion")]
|
|
public static extern SDL.Version LinkedVersion();
|
|
|
|
[LinkName("TTF_ByteSwappedUNICODE")]
|
|
public static extern void ByteSwappedUNICODE(int32 swapped);
|
|
|
|
[LinkName("TTF_Init")]
|
|
public static extern int32 Init();
|
|
|
|
/* IntPtr refers to a TTF_Font* */
|
|
[LinkName("TTF_OpenFont")]
|
|
public static extern Font* OpenFont(char8* file, int32 ptsize);
|
|
|
|
/* src refers to an SDL_RWops*, IntPtr to a TTF_Font* */
|
|
/* THIS IS A PUBLIC RWops FUNCTION! */
|
|
[LinkName("TTF_OpenFontRW")]
|
|
public static extern Font* OpenFontRW(
|
|
SDL.RWOps* src,
|
|
int freesrc,
|
|
int ptsize
|
|
);
|
|
|
|
/* IntPtr refers to a TTF_Font* */
|
|
[LinkName("TTF_OpenFontIndex")]
|
|
public static extern Font* OpenFontIndex(
|
|
char8* file,
|
|
int32 ptsize,
|
|
int64 index
|
|
);
|
|
|
|
/* src refers to an SDL_RWops*, IntPtr to a TTF_Font* */
|
|
/* THIS IS A PUBLIC RWops FUNCTION! */
|
|
[LinkName("TTF_OpenFontIndexRW")]
|
|
public static extern Font* OpenFontIndexRW(
|
|
SDL.RWOps* src,
|
|
int32 freesrc,
|
|
int32 ptsize,
|
|
int64 index
|
|
);
|
|
|
|
public struct Font;
|
|
|
|
[LinkName("TTF_GetFontStyle")]
|
|
public static extern int GetFontStyle(Font* font);
|
|
|
|
[LinkName("TTF_SetFontStyle")]
|
|
public static extern void SetFontStyle(Font* font, int32 style);
|
|
|
|
[LinkName("TTF_GetFontOutline")]
|
|
public static extern int GetFontOutline(Font* font);
|
|
|
|
[LinkName("TTF_SetFontOutline")]
|
|
public static extern void SetFontOutline(Font* font, int32 outline);
|
|
|
|
[LinkName("TTF_GetFontHinting")]
|
|
public static extern int GetFontHinting(Font* font);
|
|
|
|
[LinkName("TTF_SetFontHinting")]
|
|
public static extern void SetFontHinting(Font* font, int32 hinting);
|
|
|
|
[LinkName("TTF_FontHeight")]
|
|
public static extern int32 FontHeight(Font* font);
|
|
|
|
[LinkName("TTF_FontAscent")]
|
|
public static extern int32 FontAscent(Font* font);
|
|
|
|
[LinkName("TTF_FontDescent")]
|
|
public static extern int32 FontDescent(Font* font);
|
|
|
|
[LinkName("TTF_FontLineSkip")]
|
|
public static extern int32 FontLineSkip(Font* font);
|
|
|
|
[LinkName("TTF_GetFontKerning")]
|
|
public static extern int32 GetFontKerning(Font* font);
|
|
|
|
[LinkName("TTF_SetFontKerning")]
|
|
public static extern void SetFontKerning(Font* font, int allowed);
|
|
|
|
[LinkName("TTF_FontFaces")]
|
|
public static extern int64 FontFaces(Font* font);
|
|
|
|
[LinkName("TTF_FontFaceIsFixedWidth")]
|
|
public static extern int FontFaceIsFixedWidth(Font* font);
|
|
|
|
[LinkName("TTF_FontFaceFamilyName")]
|
|
public static extern char8* FontFaceFamilyName(Font* font);
|
|
|
|
[LinkName("TTF_FontFaceStyleName")]
|
|
public static extern char8* FontFaceStyleName(Font* font);
|
|
|
|
[LinkName("TTF_GlyphIsProvided")]
|
|
public static extern int32 GlyphIsProvided(Font* font, uint16 ch);
|
|
|
|
[LinkName("TTF_GlyphMetrics")]
|
|
public static extern int32 GlyphMetrics(
|
|
Font* font,
|
|
uint16 ch,
|
|
out int32 minx,
|
|
out int32 maxx,
|
|
out int32 miny,
|
|
out int32 maxy,
|
|
out int32 advance
|
|
);
|
|
|
|
[LinkName("TTF_SizeText")]
|
|
public static extern int32 SizeText(
|
|
Font* font,
|
|
char8* text,
|
|
out int w,
|
|
out int h
|
|
);
|
|
|
|
[LinkName("TTF_SizeUTF8")]
|
|
public static extern int32 SizeUTF8(
|
|
Font* font,
|
|
char8* text,
|
|
out int w,
|
|
out int h
|
|
);
|
|
|
|
[LinkName("TTF_SizeUNICODE")]
|
|
public static extern int32 SizeUNICODE(
|
|
Font* font,
|
|
char8* text,
|
|
out int32 w,
|
|
out int32 h
|
|
);
|
|
|
|
[LinkName("TTF_RenderText_Solid")]
|
|
public static extern SDL.Surface* RenderText_Solid(
|
|
Font* font,
|
|
char8 text,
|
|
SDL.Color fg
|
|
);
|
|
|
|
[LinkName("TTF_RenderUTF8_Solid")]
|
|
public static extern SDL.Surface* RenderUTF8_Solid(
|
|
Font* font,
|
|
char8* text,
|
|
SDL.Color fg
|
|
);
|
|
|
|
[LinkName("TTF_RenderUNICODE_Solid")]
|
|
public static extern SDL.Surface* RenderUNICODE_Solid(
|
|
Font* font,
|
|
char8* text,
|
|
SDL.Color fg
|
|
);
|
|
|
|
[LinkName("TTF_RenderGlyph_Solid")]
|
|
public static extern SDL.Surface* RenderGlyph_Solid(
|
|
Font* font,
|
|
uint16 ch,
|
|
SDL.Color fg
|
|
);
|
|
|
|
[LinkName("TTF_RenderText_Shaded")]
|
|
public static extern SDL.Surface* RenderText_Shaded(
|
|
Font* font,
|
|
char8* text,
|
|
SDL.Color fg,
|
|
SDL.Color bg
|
|
);
|
|
|
|
[LinkName("TTF_RenderUTF8_Shaded")]
|
|
public static extern SDL.Surface* RenderUTF8_Shaded(
|
|
Font* font,
|
|
char8* text,
|
|
SDL.Color fg,
|
|
SDL.Color bg
|
|
);
|
|
|
|
[LinkName("TTF_RenderUNICODE_Shaded")]
|
|
public static extern SDL.Surface* RenderUNICODE_Shaded(
|
|
Font* font,
|
|
char8* text,
|
|
SDL.Color fg,
|
|
SDL.Color bg
|
|
);
|
|
|
|
[LinkName("TTF_RenderGlyph_Shaded")]
|
|
public static extern SDL.Surface* RenderGlyph_Shaded(
|
|
Font* font,
|
|
uint16 ch,
|
|
SDL.Color fg,
|
|
SDL.Color bg
|
|
);
|
|
|
|
[LinkName("TTF_RenderText_Blended")]
|
|
public static extern SDL.Surface* RenderText_Blended(
|
|
Font* font,
|
|
char8* text,
|
|
SDL.Color fg
|
|
);
|
|
|
|
[LinkName("TTF_RenderUTF8_Blended")]
|
|
public static extern SDL.Surface* RenderUTF8_Blended(
|
|
Font* font,
|
|
char8* text,
|
|
SDL.Color fg
|
|
);
|
|
|
|
[LinkName("TTF_RenderUNICODE_Blended")]
|
|
public static extern SDL.Surface* RenderUNICODE_Blended(
|
|
Font* font,
|
|
char8* text,
|
|
SDL.Color fg
|
|
);
|
|
|
|
[LinkName("TTF_RenderText_Blended_Wrapped")]
|
|
public static extern SDL.Surface* RenderText_Blended_Wrapped(
|
|
Font* font,
|
|
char8* text,
|
|
SDL.Color fg,
|
|
uint wrapped
|
|
);
|
|
|
|
[LinkName("TTF_RenderUTF8_Blended_Wrapped")]
|
|
public static extern SDL.Surface* RenderUTF8_Blended_Wrapped(
|
|
Font* font,
|
|
char8* text,
|
|
SDL.Color fg,
|
|
uint wrapped
|
|
);
|
|
|
|
[LinkName("TTF_RenderUNICODE_Blended_Wrapped")]
|
|
public static extern SDL.Surface* RenderUNICODE_Blended_Wrapped(
|
|
Font* font,
|
|
char8* text,
|
|
SDL.Color fg,
|
|
uint wrapped
|
|
);
|
|
|
|
[LinkName("TTF_RenderGlyph_Blended")]
|
|
public static extern SDL.Surface* RenderGlyph_Blended(
|
|
Font* font,
|
|
uint16 ch,
|
|
SDL.Color fg
|
|
);
|
|
|
|
[LinkName("TTF_CloseFont")]
|
|
public static extern void CloseFont(Font* font);
|
|
|
|
[LinkName("TTF_Quit")]
|
|
public static extern void Quit();
|
|
|
|
[LinkName("TTF_WasInit")]
|
|
public static extern int WasInit();
|
|
|
|
[LinkName("SDL_GetFontKerningSize")]
|
|
public static extern int GetFontKerningSize(
|
|
Font* font,
|
|
int prev_index,
|
|
int index
|
|
);
|
|
}
|
|
} |