/* vi:set ts=8 sts=4 sw=4: * * VIM - Vi IMproved by Bram Moolenaar * * Do ":help uganda" in Vim to read copying and usage conditions. * Do ":help credits" in Vim to see a list of people who contributed. *//* * definition of global variables *//* * Number of Rows and Columns in the screen. * Must be long to be able to use them as options in option.c. * Note: Use screen_Rows and screen_Columns to access items in ScreenLines[]. * They may have different values when the screen wasn't (re)allocated yet * after setting Rows or Columns (e.g., when starting up). */EXTERNlongRows/* nr of rows in the screen */#ifdef DO_INIT# if defined(MSDOS) || defined(WIN3264) || defined(OS2)=25L# else=24L# endif#endif;EXTERNlongColumnsINIT(=80);/* nr of columns in the screen *//* * The characters that are currently on the screen are kept in ScreenLines[]. * It is a single block of characters, the size of the screen plus one line. * The attributes for those characters are kept in ScreenAttrs[]. * * "LineOffset[n]" is the offset from ScreenLines[] for the start of line 'n'. * The same value is used for ScreenLinesUC[] and ScreenAttrs[]. * * Note: before the screen is initialized and when out of memory these can be * NULL. */EXTERNschar_T*ScreenLinesINIT(=NULL);EXTERNsattr_T*ScreenAttrsINIT(=NULL);EXTERNunsigned*LineOffsetINIT(=NULL);EXTERNchar_u*LineWrapsINIT(=NULL);#ifdef FEAT_MBYTE/* * When using Unicode characters (in UTF-8 encoding) the character in * ScreenLinesUC[] contains the Unicode for the character at this position, or * NUL when the character in ScreenLines[] is to be used (ASCII char). * The composing characters are to be drawn on top of the original character. * Note: These three are only allocated when enc_utf8 is set! */EXTERNu8char_T*ScreenLinesUCINIT(=NULL);/* decoded UTF-8 characters */EXTERNu8char_T*ScreenLinesC1INIT(=NULL);/* first composing char */EXTERNu8char_T*ScreenLinesC2INIT(=NULL);/* second composing char *//* Only used for euc-jp: Second byte of a character that starts with 0x8e. * These are single-width. */