📄 terminal_interface-curses.ads.m4
字号:
pragma Inline (Init_Soft_Label_Keys); -- ANCHOR(`slk_set()',`Set_Soft_Label_Key') procedure Set_Soft_Label_Key (Label : in Label_Number; Text : in String; Fmt : in Label_Justification := Left); -- AKA -- We don't inline this procedure -- ANCHOR(`slk_refresh()',`Refresh_Soft_Label_Key') procedure Refresh_Soft_Label_Keys; -- AKA pragma Inline (Refresh_Soft_Label_Keys); -- ANCHOR(`slk_noutrefresh()',`Refresh_Soft_Label_Keys_Without_Update') procedure Refresh_Soft_Label_Keys_Without_Update; -- AKA pragma Inline (Refresh_Soft_Label_Keys_Without_Update); -- ANCHOR(`slk_label()',`Get_Soft_Label_Key') procedure Get_Soft_Label_Key (Label : in Label_Number; Text : out String); -- AKA -- ANCHOR(`slk_label()',`Get_Soft_Label_Key') function Get_Soft_Label_Key (Label : in Label_Number) return String; -- AKA -- Same as function pragma Inline (Get_Soft_Label_Key); -- ANCHOR(`slk_clear()',`Clear_Soft_Label_Keys') procedure Clear_Soft_Label_Keys; -- AKA pragma Inline (Clear_Soft_Label_Keys); -- ANCHOR(`slk_restore()',`Restore_Soft_Label_Keys') procedure Restore_Soft_Label_Keys; -- AKA pragma Inline (Restore_Soft_Label_Keys); -- ANCHOR(`slk_touch()',`Touch_Soft_Label_Keys') procedure Touch_Soft_Label_Keys; -- AKA pragma Inline (Touch_Soft_Label_Keys); -- ANCHOR(`slk_attron()',`Switch_Soft_Label_Key_Attributes') procedure Switch_Soft_Label_Key_Attributes (Attr : in Character_Attribute_Set; On : in Boolean := True); -- AKA -- ALIAS(`slk_attroff()') pragma Inline (Switch_Soft_Label_Key_Attributes); -- ANCHOR(`slk_attrset()',`Set_Soft_Label_Key_Attributes') procedure Set_Soft_Label_Key_Attributes (Attr : in Character_Attribute_Set := Normal_Video; Color : in Color_Pair := Color_Pair'First); -- AKA pragma Inline (Set_Soft_Label_Key_Attributes); -- ANCHOR(`slk_attr()',`Get_Soft_Label_Key_Attributes') function Get_Soft_Label_Key_Attributes return Character_Attribute_Set; -- AKA -- ANCHOR(`slk_attr()',`Get_Soft_Label_Key_Attributes') function Get_Soft_Label_Key_Attributes return Color_Pair; -- AKA pragma Inline (Get_Soft_Label_Key_Attributes); -- ANCHOR(`slk_color()',`Set_Soft_Label_Key_Color') procedure Set_Soft_Label_Key_Color (Pair : in Color_Pair); -- AKA pragma Inline (Set_Soft_Label_Key_Color); -- MANPAGE(`keybound.3x') -- Not Implemented: keybound -- MANPAGE(`keyok.3x') -- ANCHOR(`keyok()',`Enable_Key') procedure Enable_Key (Key : in Special_Key_Code; Enable : in Boolean := True); -- AKA pragma Inline (Enable_Key); -- MANPAGE(`define_key.3x') -- ANCHOR(`define_key()',`Define_Key') procedure Define_Key (Definition : in String; Key : in Special_Key_Code); -- AKA pragma Inline (Define_Key); -- MANPAGE(`curs_util.3x') -- | Not implemented : filter, use_env -- | putwin, getwin are in the child package PutWin -- -- ANCHOR(`keyname()',`Key_Name') procedure Key_Name (Key : in Real_Key_Code; Name : out String); -- AKA -- The external name for a real keystroke. -- ANCHOR(`keyname()',`Key_Name') function Key_Name (Key : in Real_Key_Code) return String; -- AKA -- Same as function -- We don't inline this routine -- ANCHOR(`unctrl()',`Un_Control') procedure Un_Control (Ch : in Attributed_Character; Str : out String); -- AKA -- ANCHOR(`unctrl()',`Un_Control') function Un_Control (Ch : in Attributed_Character) return String; -- AKA -- Same as function pragma Inline (Un_Control); -- ANCHOR(`delay_output()',`Delay_Output') procedure Delay_Output (Msecs : in Natural); -- AKA pragma Inline (Delay_Output); -- ANCHOR(`flushinp()',`Flush_Input') procedure Flush_Input; -- AKA pragma Inline (Flush_Input); -- MANPAGE(`curs_termattrs.3x') -- ANCHOR(`baudrate()',`Baudrate') function Baudrate return Natural; -- AKA pragma Inline (Baudrate); -- ANCHOR(`erasechar()',`Erase_Character') function Erase_Character return Character; -- AKA pragma Inline (Erase_Character); -- ANCHOR(`killchar()',`Kill_Character') function Kill_Character return Character; -- AKA pragma Inline (Kill_Character); -- ANCHOR(`has_ic()',`Has_Insert_Character') function Has_Insert_Character return Boolean; -- AKA pragma Inline (Has_Insert_Character); -- ANCHOR(`has_il()',`Has_Insert_Line') function Has_Insert_Line return Boolean; -- AKA pragma Inline (Has_Insert_Line); -- ANCHOR(`termattrs()',`Supported_Attributes') function Supported_Attributes return Character_Attribute_Set; -- AKA pragma Inline (Supported_Attributes); -- ANCHOR(`longname()',`Long_Name') procedure Long_Name (Name : out String); -- AKA -- ANCHOR(`longname()',`Long_Name') function Long_Name return String; -- AKA -- Same as function pragma Inline (Long_Name); -- ANCHOR(`termname()',`Terminal_Name') procedure Terminal_Name (Name : out String); -- AKA -- ANCHOR(`termname()',`Terminal_Name') function Terminal_Name return String; -- AKA -- Same as function pragma Inline (Terminal_Name); -- MANPAGE(`curs_color.3x') -- COLOR_PAIR -- COLOR_PAIR(n) in C is the same as -- Attributed_Character(Ch => Nul, Color => n, Attr => Normal_Video) -- In C you often see something like c = c | COLOR_PAIR(n); -- This is equivalent to c.Color := n; -- ANCHOR(`start_color()',`Start_Color') procedure Start_Color; -- AKA pragma Import (C, Start_Color, "start_color"); -- ANCHOR(`init_pair()',`Init_Pair') procedure Init_Pair (Pair : in Redefinable_Color_Pair; Fore : in Color_Number; Back : in Color_Number); -- AKA pragma Inline (Init_Pair); -- ANCHOR(`pair_content()',`Pair_Content') procedure Pair_Content (Pair : in Color_Pair; Fore : out Color_Number; Back : out Color_Number); -- AKA pragma Inline (Pair_Content); -- ANCHOR(`has_colors()',`Has_Colors') function Has_Colors return Boolean; -- AKA pragma Inline (Has_Colors); -- ANCHOR(`init_color()',`Init_Color') procedure Init_Color (Color : in Color_Number; Red : in RGB_Value; Green : in RGB_Value; Blue : in RGB_Value); -- AKA pragma Inline (Init_Color); -- ANCHOR(`can_change_color()',`Can_Change_Color') function Can_Change_Color return Boolean; -- AKA pragma Inline (Can_Change_Color); -- ANCHOR(`color_content()',`Color_Content') procedure Color_Content (Color : in Color_Number; Red : out RGB_Value; Green : out RGB_Value; Blue : out RGB_Value); -- AKA pragma Inline (Color_Content); -- MANPAGE(`curs_kernel.3x') -- | Not implemented: getsyx, setsyx -- type Curses_Mode is (Curses, Shell); -- ANCHOR(`def_prog_mode()',`Save_Curses_Mode') procedure Save_Curses_Mode (Mode : in Curses_Mode); -- AKA -- ALIAS(`def_shell_mode()') pragma Inline (Save_Curses_Mode); -- ANCHOR(`reset_prog_mode()',`Reset_Curses_Mode') procedure Reset_Curses_Mode (Mode : in Curses_Mode); -- AKA -- ALIAS(`reset_shell_mode()') pragma Inline (Reset_Curses_Mode); -- ANCHOR(`savetty()',`Save_Terminal_State') procedure Save_Terminal_State; -- AKA pragma Inline (Save_Terminal_State); -- ANCHOR(`resetty();',`Reset_Terminal_State') procedure Reset_Terminal_State; -- AKA pragma Inline (Reset_Terminal_State); type Stdscr_Init_Proc is access function (Win : Window; Columns : Column_Count) return Integer; pragma Convention (C, Stdscr_Init_Proc); -- N.B.: the return value is actually ignored, but it seems to be -- a good practice to return 0 if you think all went fine -- and -1 otherwise. -- ANCHOR(`ripoffline()',`Rip_Off_Lines') procedure Rip_Off_Lines (Lines : in Integer; Proc : in Stdscr_Init_Proc); -- AKA -- N.B.: to be more precise, this uses a ncurses specific enhancement of -- ripoffline(), in which the Lines argument absolute value is the -- number of lines to be ripped of. The official ripoffline() only -- uses the sign of Lines to rip of a single line from bottom or top. pragma Inline (Rip_Off_Lines); type Cursor_Visibility is (Invisible, Normal, Very_Visible); -- ANCHOR(`curs_set()',`Set_Cursor_Visibility') procedure Set_Cursor_Visibility (Visibility : in out Cursor_Visibility); -- AKA pragma Inline (Set_Cursor_Visibility); -- ANCHOR(`napms()',`Nap_Milli_Seconds') procedure Nap_Milli_Seconds (Ms : in Natural); -- AKA pragma Inline (Nap_Milli_Seconds); -- |===================================================================== -- | Some useful helpers. -- |===================================================================== type Transform_Direction is (From_Screen, To_Screen); procedure Transform_Coordinates (W : in Window := Standard_Window; Line : in out Line_Position; Column : in out Column_Position; Dir : in Transform_Direction := From_Screen); -- This procedure transforms screen coordinates into coordinates relative -- to the window and vice versa, depending on the Dir parameter. -- Screen coordinates are the position informations on the physical device. -- An Curses_Exception will be raised if Line and Column are not in the -- Window or if you pass the Null_Window as argument. -- We don't inline this procedure -- MANPAGE(`dft_fgbg.3x') -- ANCHOR(`use_default_colors()',`Use_Default_Colors') procedure Use_Default_Colors; -- AKA pragma Inline (Use_Default_Colors); -- ANCHOR(`assume_default_colors()',`Assume_Default_Colors') procedure Assume_Default_Colors (Fore : Color_Number := Default_Color; Back : Color_Number := Default_Color); -- AKA pragma Inline (Assume_Default_Colors); -- MANPAGE(`curs_extend.3x') -- ANCHOR(`curses_version()',`Curses_Version') function Curses_Version return String; -- AKA -- ANCHOR(`use_extended_names()',`Use_Extended_Names') -- The returnvalue is the previous setting of the flag function Use_Extended_Names (Enable : Boolean) return Boolean; -- AKA -- MANPAGE(`curs_scr_dump.3x') -- ANCHOR(`scr_dump()',`Screen_Dump_To_File') procedure Screen_Dump_To_File (Filename : in String); -- AKA -- ANCHOR(`scr_restore()',`Screen_Restore_From_File') procedure Screen_Restore_From_File (Filename : in String); -- AKA -- ANCHOR(`scr_init()',`Screen_Init_From_File') procedure Screen_Init_From_File (Filename : in String); -- AKA -- ANCHOR(`scr_set()',`Screen_Set_File') procedure Screen_Set_File (Filename : in String); -- AKA -- MANPAGE(`curs_print.3x') -- Not implemented: mcprint -- MANPAGE(`curs_printw.3x') -- Not implemented: printw, wprintw, mvprintw, mvwprintw, vwprintw, -- vw_printw -- Please use the Ada style Text_IO child packages for formatted -- printing. It doesn't make a lot of sense to map the printf style -- C functions to Ada. -- MANPAGE(`curs_scanw.3x') -- Not implemented: scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw -- MANPAGE(`resizeterm.3x') -- Not Implemented: resizeterm -- MANPAGE(`wresize.3x') -- ANCHOR(`wresize()',`Resize') procedure Resize (Win : Window := Standard_Window; Number_Of_Lines : Line_Count; Number_Of_Columns : Column_Count); -- AKAprivate type Window is new System.Storage_Elements.Integer_Address; Null_Window : constant Window := 0; -- The next constants are generated and may be different on your -- architecture. --include(`Window_Offsets')dnl Curses_Bool_False : constant Curses_Bool := 0;end Terminal_Interface.Curses;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -