C-Menu 0.2.9
A User Interface Toolkit
Loading...
Searching...
No Matches
ui_notcurses_internal.h File Reference

Internal header for the NotCurses UI backend. More...

#include <notcurses/notcurses.h>
#include <stdbool.h>
#include <stdint.h>
Include dependency graph for ui_notcurses_internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  RGB
struct  UiCell
union  UiChannels
struct  UiColor
struct  UiPair
struct  UiRuntime
 Runtime state for the NotCurses backend. More...
struct  UiSurface
 A drawable surface in the NotCurses backend. More...
struct  UiSurfaceMeta

Macros

#define _XOPEN_SOURCE_EXTENDED   1
#define KEY_ALTF09   NCKEY_F21
#define KEY_BACKSPACE   NCKEY_BACKSPACE
#define KEY_BREAK   NCKEY_F20
#define KEY_CATAB   NCKEY_F13
#define KEY_DC   NCKEY_DEL
#define KEY_DOWN   NCKEY_DOWN
#define KEY_END   NCKEY_END
#define KEY_ENTER   NCKEY_ENTER
#define KEY_F0   NCKEY_F01 1
#define KEY_F01   NCKEY_F01
#define KEY_F02   NCKEY_F02
#define KEY_F03   NCKEY_F03
#define KEY_F04   NCKEY_F04
#define KEY_F05   NCKEY_F05
#define KEY_F06   NCKEY_F06
#define KEY_F07   NCKEY_F07
#define KEY_F08   NCKEY_F08
#define KEY_F09   NCKEY_F09
#define KEY_F10   NCKEY_F10
#define KEY_F11   NCKEY_F11
#define KEY_F12   NCKEY_F12
#define KEY_F13   NCKEY_F13
#define KEY_HOME   NCKEY_HOME
#define KEY_IC   NCKEY_INS
#define KEY_LEFT   NCKEY_LEFT
#define KEY_LL   NCKEY_F14
#define KEY_MOUSE   NCKEY_BUTTON1
#define KEY_NPAGE   NCKEY_PGDOWN
#define KEY_PPAGE   NCKEY_PGUP
#define KEY_PRINT   NCKEY_PRINT
#define KEY_RESIZE   NCKEY_RESIZE
#define KEY_RESIZE   NCKEY_RESIZE
#define KEY_RIGHT   NCKEY_RIGHT
#define KEY_SLEFT   NCKEY_F12
#define KEY_SRIGHT   NCKEY_F11
#define KEY_UP   NCKEY_UP
#define MAXLEN   256
#define MAXPLANE   30
#define MAXSFC   30
#define NCALPHA_BLEND   0x10000000ull
#define NCALPHA_HIGHCONTRAST   0x30000000ull
#define NCALPHA_OPAQUE   0x00000000ull
#define NCALPHA_TRANSPARENT   0x20000000ull
#define NCCHANNELS_BACKGROUND_ALPHA_MASK   0x0000000030000000ull
#define NCCHANNELS_BACKGROUND_DEFAULT   0x0000000040000000ull
#define NCCHANNELS_BACKGROUND_MASK   0x0000000000ffffffull
#define NCCHANNELS_BACKGROUND_PALETTE   0x0000000008000000ull
#define NCCHANNELS_FOREGROUND_ALPHA_MASK   0x3000000000000000ull
#define NCCHANNELS_FOREGROUND_DEFAULT   0x4000000000000000ull
#define NCCHANNELS_FOREGROUND_MASK   0x00ffffff00000000ull
#define NCCHANNELS_FOREGROUND_PALETTE   0x0800000000000000ull
#define NCCHANNELS_FOREGROUND_QUADRANT_LL   0x0200000000000000ull
#define NCCHANNELS_FOREGROUND_QUADRANT_LR   0x0100000000000000ull
#define NCCHANNELS_FOREGROUND_QUADRANT_UL   0x8000000000000000ull
#define NCCHANNELS_FOREGROUND_QUADRANT_UR   0x0400000000000000ull
#define NCCHANNELS_RESERVED1   0x0000000080000000ull
#define NCCHANNELS_RESERVED2   0x0000000007000000ull
#define SFC_MAX   30
#define U_VE   L'\x2502'
#define UI_ALTCHARSET   0x0
#define UI_BLINK   0x0
#define UI_BOLD   NCSTYLE_BOLD
#define UI_DIM   0x0
#define UI_INVIS   0x0
#define UI_ITALIC   NCSTYLE_ITALIC
#define UI_MASK   NCSTYLE_MASK
#define UI_NONE   0x0
#define UI_NORMAL   0x0
#define UI_PROTECT   NCSTYLE_UNDERLINE
#define UI_REVERSE   NCSTYLE_UNDERLINE
#define UI_STANDOUT   NCSTYLE_BOLD
#define UI_STRUCK   NCSTYLE_STRUCK
#define UI_UNDERCURL   NCSTYLE_UNDERCURL
#define UI_UNDERLINE   NCSTYLE_UNDERLINE
#define WA_ALTCHARSET   0x0
#define WA_ATTRIBUTES   NCSTYLE_MASK
#define WA_BLINK   NCSTYLE_UNDERLINE
#define WA_BOLD   NCSTYLE_BOLD
#define WA_DIM   NCSTYLE_UNDERLINE
#define WA_INVIS   0x0
#define WA_ITALIC   NCSTYLE_ITALIC
#define WA_NONE   0x0
#define WA_NORMAL   0x0
#define WA_PROTECT   NCSTYLE_UNDERLINE
#define WA_REVERSE   NCSTYLE_UNDERLINE
#define WA_STANDOUT   NCSTYLE_BOLD
#define WA_STRUCK   NCSTYLE_STRUCK
#define WA_UNDERCURL   NCSTYLE_UNDERCURL
#define WA_UNDERLINE   NCSTYLE_UNDERLINE
#define XLEN   256

Typedefs

typedef enum SubSurface sub_surface

Enumerations

enum  SubSurface {
  BOX , WIN , WIN2 , LNNO ,
  CMDLN , PAD , WIN3 , SUB_SFC_MAX
}

Detailed Description

Internal header for the NotCurses UI backend.

Defines the concrete (non-opaque) layouts of UiRuntime and UiSurface for the NotCurses backend. Must only be included by NotCurses backend source files — never by application code.

Definition in file ui_notcurses_internal.h.

Macro Definition Documentation

◆ _XOPEN_SOURCE_EXTENDED

#define _XOPEN_SOURCE_EXTENDED   1

Definition at line 13 of file ui_notcurses_internal.h.

◆ KEY_ALTF09

#define KEY_ALTF09   NCKEY_F21

Definition at line 59 of file ui_notcurses_internal.h.

◆ KEY_BACKSPACE

#define KEY_BACKSPACE   NCKEY_BACKSPACE

Definition at line 29 of file ui_notcurses_internal.h.

◆ KEY_BREAK

#define KEY_BREAK   NCKEY_F20

Definition at line 51 of file ui_notcurses_internal.h.

◆ KEY_CATAB

#define KEY_CATAB   NCKEY_F13

Definition at line 57 of file ui_notcurses_internal.h.

◆ KEY_DC

#define KEY_DC   NCKEY_DEL

Definition at line 44 of file ui_notcurses_internal.h.

◆ KEY_DOWN

#define KEY_DOWN   NCKEY_DOWN

Definition at line 24 of file ui_notcurses_internal.h.

◆ KEY_END

#define KEY_END   NCKEY_END

Definition at line 50 of file ui_notcurses_internal.h.

◆ KEY_ENTER

#define KEY_ENTER   NCKEY_ENTER

Definition at line 48 of file ui_notcurses_internal.h.

◆ KEY_F0

#define KEY_F0   NCKEY_F01 1

Definition at line 30 of file ui_notcurses_internal.h.

◆ KEY_F01

#define KEY_F01   NCKEY_F01

Definition at line 31 of file ui_notcurses_internal.h.

◆ KEY_F02

#define KEY_F02   NCKEY_F02

Definition at line 32 of file ui_notcurses_internal.h.

◆ KEY_F03

#define KEY_F03   NCKEY_F03

Definition at line 33 of file ui_notcurses_internal.h.

◆ KEY_F04

#define KEY_F04   NCKEY_F04

Definition at line 34 of file ui_notcurses_internal.h.

◆ KEY_F05

#define KEY_F05   NCKEY_F05

Definition at line 35 of file ui_notcurses_internal.h.

◆ KEY_F06

#define KEY_F06   NCKEY_F06

Definition at line 36 of file ui_notcurses_internal.h.

◆ KEY_F07

#define KEY_F07   NCKEY_F07

Definition at line 37 of file ui_notcurses_internal.h.

◆ KEY_F08

#define KEY_F08   NCKEY_F08

Definition at line 38 of file ui_notcurses_internal.h.

◆ KEY_F09

#define KEY_F09   NCKEY_F09

Definition at line 39 of file ui_notcurses_internal.h.

◆ KEY_F10

#define KEY_F10   NCKEY_F10

Definition at line 40 of file ui_notcurses_internal.h.

◆ KEY_F11

#define KEY_F11   NCKEY_F11

Definition at line 41 of file ui_notcurses_internal.h.

◆ KEY_F12

#define KEY_F12   NCKEY_F12

Definition at line 42 of file ui_notcurses_internal.h.

◆ KEY_F13

#define KEY_F13   NCKEY_F13

Definition at line 43 of file ui_notcurses_internal.h.

◆ KEY_HOME

#define KEY_HOME   NCKEY_HOME

Definition at line 28 of file ui_notcurses_internal.h.

◆ KEY_IC

#define KEY_IC   NCKEY_INS

Definition at line 45 of file ui_notcurses_internal.h.

◆ KEY_LEFT

#define KEY_LEFT   NCKEY_LEFT

Definition at line 26 of file ui_notcurses_internal.h.

◆ KEY_LL

#define KEY_LL   NCKEY_F14

Definition at line 58 of file ui_notcurses_internal.h.

◆ KEY_MOUSE

#define KEY_MOUSE   NCKEY_BUTTON1

Definition at line 52 of file ui_notcurses_internal.h.

◆ KEY_NPAGE

#define KEY_NPAGE   NCKEY_PGDOWN

Definition at line 46 of file ui_notcurses_internal.h.

◆ KEY_PPAGE

#define KEY_PPAGE   NCKEY_PGUP

Definition at line 47 of file ui_notcurses_internal.h.

◆ KEY_PRINT

#define KEY_PRINT   NCKEY_PRINT

Definition at line 56 of file ui_notcurses_internal.h.

◆ KEY_RESIZE [1/2]

#define KEY_RESIZE   NCKEY_RESIZE

Definition at line 49 of file ui_notcurses_internal.h.

◆ KEY_RESIZE [2/2]

#define KEY_RESIZE   NCKEY_RESIZE

Definition at line 49 of file ui_notcurses_internal.h.

◆ KEY_RIGHT

#define KEY_RIGHT   NCKEY_RIGHT

Definition at line 27 of file ui_notcurses_internal.h.

◆ KEY_SLEFT

#define KEY_SLEFT   NCKEY_F12

Definition at line 55 of file ui_notcurses_internal.h.

◆ KEY_SRIGHT

#define KEY_SRIGHT   NCKEY_F11

Definition at line 54 of file ui_notcurses_internal.h.

◆ KEY_UP

#define KEY_UP   NCKEY_UP

Definition at line 25 of file ui_notcurses_internal.h.

◆ MAXLEN

#define MAXLEN   256

Definition at line 19 of file ui_notcurses_internal.h.

◆ MAXPLANE

#define MAXPLANE   30

Definition at line 20 of file ui_notcurses_internal.h.

◆ MAXSFC

#define MAXSFC   30

Definition at line 21 of file ui_notcurses_internal.h.

◆ NCALPHA_BLEND

#define NCALPHA_BLEND   0x10000000ull

Definition at line 256 of file ui_notcurses_internal.h.

◆ NCALPHA_HIGHCONTRAST

#define NCALPHA_HIGHCONTRAST   0x30000000ull

Definition at line 254 of file ui_notcurses_internal.h.

◆ NCALPHA_OPAQUE

#define NCALPHA_OPAQUE   0x00000000ull

Definition at line 257 of file ui_notcurses_internal.h.

◆ NCALPHA_TRANSPARENT

#define NCALPHA_TRANSPARENT   0x20000000ull

Definition at line 255 of file ui_notcurses_internal.h.

◆ NCCHANNELS_BACKGROUND_ALPHA_MASK

#define NCCHANNELS_BACKGROUND_ALPHA_MASK   0x0000000030000000ull

Definition at line 266 of file ui_notcurses_internal.h.

◆ NCCHANNELS_BACKGROUND_DEFAULT

#define NCCHANNELS_BACKGROUND_DEFAULT   0x0000000040000000ull

Definition at line 267 of file ui_notcurses_internal.h.

◆ NCCHANNELS_BACKGROUND_MASK

#define NCCHANNELS_BACKGROUND_MASK   0x0000000000ffffffull

Definition at line 271 of file ui_notcurses_internal.h.

◆ NCCHANNELS_BACKGROUND_PALETTE

#define NCCHANNELS_BACKGROUND_PALETTE   0x0000000008000000ull

Definition at line 270 of file ui_notcurses_internal.h.

◆ NCCHANNELS_FOREGROUND_ALPHA_MASK

#define NCCHANNELS_FOREGROUND_ALPHA_MASK   0x3000000000000000ull

Definition at line 258 of file ui_notcurses_internal.h.

◆ NCCHANNELS_FOREGROUND_DEFAULT

#define NCCHANNELS_FOREGROUND_DEFAULT   0x4000000000000000ull

Definition at line 259 of file ui_notcurses_internal.h.

◆ NCCHANNELS_FOREGROUND_MASK

#define NCCHANNELS_FOREGROUND_MASK   0x00ffffff00000000ull

Definition at line 265 of file ui_notcurses_internal.h.

◆ NCCHANNELS_FOREGROUND_PALETTE

#define NCCHANNELS_FOREGROUND_PALETTE   0x0800000000000000ull

Definition at line 264 of file ui_notcurses_internal.h.

◆ NCCHANNELS_FOREGROUND_QUADRANT_LL

#define NCCHANNELS_FOREGROUND_QUADRANT_LL   0x0200000000000000ull

Definition at line 262 of file ui_notcurses_internal.h.

◆ NCCHANNELS_FOREGROUND_QUADRANT_LR

#define NCCHANNELS_FOREGROUND_QUADRANT_LR   0x0100000000000000ull

Definition at line 261 of file ui_notcurses_internal.h.

◆ NCCHANNELS_FOREGROUND_QUADRANT_UL

#define NCCHANNELS_FOREGROUND_QUADRANT_UL   0x8000000000000000ull

Definition at line 260 of file ui_notcurses_internal.h.

◆ NCCHANNELS_FOREGROUND_QUADRANT_UR

#define NCCHANNELS_FOREGROUND_QUADRANT_UR   0x0400000000000000ull

Definition at line 263 of file ui_notcurses_internal.h.

◆ NCCHANNELS_RESERVED1

#define NCCHANNELS_RESERVED1   0x0000000080000000ull

Definition at line 268 of file ui_notcurses_internal.h.

◆ NCCHANNELS_RESERVED2

#define NCCHANNELS_RESERVED2   0x0000000007000000ull

Definition at line 269 of file ui_notcurses_internal.h.

◆ SFC_MAX

#define SFC_MAX   30

Definition at line 95 of file ui_notcurses_internal.h.

◆ U_VE

#define U_VE   L'\x2502'

vertical line

Definition at line 22 of file ui_notcurses_internal.h.

◆ UI_ALTCHARSET

#define UI_ALTCHARSET   0x0

Definition at line 230 of file ui_notcurses_internal.h.

◆ UI_BLINK

#define UI_BLINK   0x0

Definition at line 227 of file ui_notcurses_internal.h.

◆ UI_BOLD

#define UI_BOLD   NCSTYLE_BOLD

Definition at line 229 of file ui_notcurses_internal.h.

◆ UI_DIM

#define UI_DIM   0x0

Definition at line 228 of file ui_notcurses_internal.h.

◆ UI_INVIS

#define UI_INVIS   0x0

Definition at line 231 of file ui_notcurses_internal.h.

◆ UI_ITALIC

#define UI_ITALIC   NCSTYLE_ITALIC

Definition at line 236 of file ui_notcurses_internal.h.

◆ UI_MASK

#define UI_MASK   NCSTYLE_MASK

Definition at line 222 of file ui_notcurses_internal.h.

◆ UI_NONE

#define UI_NONE   0x0

Definition at line 235 of file ui_notcurses_internal.h.

◆ UI_NORMAL

#define UI_NORMAL   0x0

Definition at line 223 of file ui_notcurses_internal.h.

◆ UI_PROTECT

#define UI_PROTECT   NCSTYLE_UNDERLINE

Definition at line 233 of file ui_notcurses_internal.h.

◆ UI_REVERSE

#define UI_REVERSE   NCSTYLE_UNDERLINE

Definition at line 226 of file ui_notcurses_internal.h.

◆ UI_STANDOUT

#define UI_STANDOUT   NCSTYLE_BOLD

Definition at line 224 of file ui_notcurses_internal.h.

◆ UI_STRUCK

#define UI_STRUCK   NCSTYLE_STRUCK

Definition at line 232 of file ui_notcurses_internal.h.

◆ UI_UNDERCURL

#define UI_UNDERCURL   NCSTYLE_UNDERCURL

Definition at line 234 of file ui_notcurses_internal.h.

◆ UI_UNDERLINE

#define UI_UNDERLINE   NCSTYLE_UNDERLINE

Definition at line 225 of file ui_notcurses_internal.h.

◆ WA_ALTCHARSET

#define WA_ALTCHARSET   0x0

Definition at line 246 of file ui_notcurses_internal.h.

◆ WA_ATTRIBUTES

#define WA_ATTRIBUTES   NCSTYLE_MASK

Definition at line 238 of file ui_notcurses_internal.h.

◆ WA_BLINK

#define WA_BLINK   NCSTYLE_UNDERLINE

Definition at line 243 of file ui_notcurses_internal.h.

◆ WA_BOLD

#define WA_BOLD   NCSTYLE_BOLD

Definition at line 245 of file ui_notcurses_internal.h.

◆ WA_DIM

#define WA_DIM   NCSTYLE_UNDERLINE

Definition at line 244 of file ui_notcurses_internal.h.

◆ WA_INVIS

#define WA_INVIS   0x0

Definition at line 247 of file ui_notcurses_internal.h.

◆ WA_ITALIC

#define WA_ITALIC   NCSTYLE_ITALIC

Definition at line 251 of file ui_notcurses_internal.h.

◆ WA_NONE

#define WA_NONE   0x0

Definition at line 252 of file ui_notcurses_internal.h.

◆ WA_NORMAL

#define WA_NORMAL   0x0

Definition at line 239 of file ui_notcurses_internal.h.

◆ WA_PROTECT

#define WA_PROTECT   NCSTYLE_UNDERLINE

Definition at line 249 of file ui_notcurses_internal.h.

◆ WA_REVERSE

#define WA_REVERSE   NCSTYLE_UNDERLINE

Definition at line 242 of file ui_notcurses_internal.h.

◆ WA_STANDOUT

#define WA_STANDOUT   NCSTYLE_BOLD

Definition at line 240 of file ui_notcurses_internal.h.

◆ WA_STRUCK

#define WA_STRUCK   NCSTYLE_STRUCK

Definition at line 248 of file ui_notcurses_internal.h.

◆ WA_UNDERCURL

#define WA_UNDERCURL   NCSTYLE_UNDERCURL

Definition at line 250 of file ui_notcurses_internal.h.

◆ WA_UNDERLINE

#define WA_UNDERLINE   NCSTYLE_UNDERLINE

Definition at line 241 of file ui_notcurses_internal.h.

◆ XLEN

#define XLEN   256

Definition at line 18 of file ui_notcurses_internal.h.

Typedef Documentation

◆ sub_surface

typedef enum SubSurface sub_surface

Enumeration Type Documentation

◆ SubSurface

enum SubSurface
Enumerator
BOX 
WIN 
WIN2 
LNNO 
CMDLN 
PAD 
WIN3 
SUB_SFC_MAX 

Definition at line 97 of file ui_notcurses_internal.h.

97 {
98 BOX,
99 WIN,
100 WIN2,
101 LNNO,
102 CMDLN,
103 PAD,
104 WIN3,
enum SubSurface sub_surface