mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-26 15:57:56 +01:00
Expose some Curses APIs to the public
This commit is contained in:
@@ -16,7 +16,7 @@ namespace Terminal.Gui {
|
||||
/// <summary>
|
||||
/// This is the Curses driver for the gui.cs/Terminal framework.
|
||||
/// </summary>
|
||||
internal class CursesDriver : ConsoleDriver {
|
||||
public class CursesDriver : ConsoleDriver {
|
||||
Action terminalResized;
|
||||
|
||||
public override int Cols => Curses.Cols;
|
||||
@@ -70,9 +70,16 @@ namespace Terminal.Gui {
|
||||
public Curses.Window window;
|
||||
|
||||
static short last_color_pair = 16;
|
||||
static Attribute MakeColor (short f, short b)
|
||||
|
||||
/// <summary>
|
||||
/// Creates a curses color from the provided foreground and background colors
|
||||
/// </summary>
|
||||
/// <param name="foreground">Contains the curses attributes for the foreground (color, plus any attributes)</param>
|
||||
/// <param name="background">Contains the curses attributes for the background (color, plus any attributes)</param>
|
||||
/// <returns></returns>
|
||||
public static Attribute MakeColor (short foreground, short background)
|
||||
{
|
||||
Curses.InitColorPair (++last_color_pair, f, b);
|
||||
Curses.InitColorPair (++last_color_pair, foreground, background);
|
||||
return new Attribute () { value = Curses.ColorPair (last_color_pair) };
|
||||
}
|
||||
|
||||
|
||||
@@ -48,9 +48,9 @@ using Mono.Terminal.Internal;
|
||||
|
||||
namespace Unix.Terminal {
|
||||
|
||||
internal partial class Curses {
|
||||
public partial class Curses {
|
||||
[StructLayout (LayoutKind.Sequential)]
|
||||
internal struct MouseEvent {
|
||||
public struct MouseEvent {
|
||||
public short ID;
|
||||
public int X, Y, Z;
|
||||
public Event ButtonState;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
using System;
|
||||
|
||||
namespace Unix.Terminal {
|
||||
internal partial class Curses {
|
||||
public partial class Curses {
|
||||
public const int A_NORMAL = unchecked((int)0x0);
|
||||
public const int A_STANDOUT = unchecked((int)0x10000);
|
||||
public const int A_UNDERLINE = unchecked((int)0x20000);
|
||||
@@ -49,7 +49,7 @@ namespace Unix.Terminal {
|
||||
public const int COLOR_CYAN = unchecked((int)0x6);
|
||||
public const int COLOR_WHITE = unchecked((int)0x7);
|
||||
public const int KEY_CODE_YES = unchecked((int)0x100);
|
||||
internal enum Event : long {
|
||||
public enum Event : long {
|
||||
Button1Pressed = unchecked((int)0x2),
|
||||
Button1Released = unchecked((int)0x1),
|
||||
Button1Clicked = unchecked((int)0x4),
|
||||
|
||||
@@ -30,8 +30,8 @@ using System.Runtime.InteropServices;
|
||||
|
||||
namespace Unix.Terminal {
|
||||
|
||||
internal partial class Curses {
|
||||
internal class Window {
|
||||
public partial class Curses {
|
||||
public class Window {
|
||||
public readonly IntPtr Handle;
|
||||
static Window curscr;
|
||||
static Window stdscr;
|
||||
|
||||
Reference in New Issue
Block a user