home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / xmmx.zip / source / mmm_x11.h < prev    next >
C/C++ Source or Header  |  1996-12-23  |  3KB  |  112 lines

  1. /**********************************************
  2. *   X11   include file for MMM  Editor        *
  3. *   Contains X11    Spacific functions        *
  4. *   (Tested on i386 RedHat Linux 3.0+ X11R6)  *
  5. ***********************************************/
  6.  
  7. #ifndef __INCLUDED_MMM_LINUX__
  8. #define __INCLUDED_MMM_LINUX__
  9.  
  10. #define EXECUTER_FILENAME "__mmm__.bat"
  11. #define BASE_CONFIG_FILE_NAME "Xmmm_base.cfg"
  12. //&<<&#include 
  13. #include "mmmx.h"
  14. #include "mmmgrep.h"
  15. #include <sys/types.h>
  16. #include <unistd.h>
  17. #include <errno.h>
  18. #include <fcntl.h>
  19. #include <linux/tty.h>
  20. #include <linux/kd.h>
  21. #include <linux/vt.h>
  22. #include <signal.h>
  23. #include <termios.h>       /* for tcget(set)attr */
  24. #include <sys/ioctl.h>
  25. #include <dirent.h>
  26. #include <sys/stat.h>
  27.  
  28. #include <X11/Xlib.h>
  29. #include <X11/Xutil.h>
  30. #include <X11/Xos.h>
  31. //&>>&E 0 E 11
  32.  
  33. //&<<&X11 specific declarations
  34. #define WND_X             (-2)
  35. #define WND_Y             (-2)
  36. #define WND_WDT           750
  37. #define WND_HGH           580
  38. #define WND_MIN_WDT       200
  39. #define WND_MIN_HGH       100
  40. #define WND_BORDER_WDT      5
  41.  
  42. #define WND_TITLE        "WT mmmX: "
  43. #define WND_ICON_TITLE   "WIT mmmX: "
  44. #define PRG_CLASS        "PC mmmX"
  45.  
  46. #define AltMask 8
  47. //&>>&2 0 2 0
  48.  
  49. //&<<&struct mmm_Screen {
  50. struct mmm_Screen {
  51.     char cold,cattrold; // old char under cursor & cursor attribute
  52.     unsigned long nPixel[0x10];
  53.     int FontHeight;
  54.     int FontWidth;
  55.     int FontDescent;
  56.  
  57.     int WIDTH,HEIGHT;
  58.     XFontStruct *prFontInfo;
  59.     Display *prDisplay;
  60.     int     nScreenNum;
  61.     Window  nWnd;
  62.     int cursx,cursy;
  63.     int need;
  64.  
  65.     mmm_Screen();
  66.     ~mmm_Screen();
  67.  
  68.     int GetH(){ return HEIGHT; }
  69.     int GetW(){ return WIDTH; }
  70.     int &Need(){ return need; }
  71.  
  72.     void Init(int argc, char **argv);
  73.     void SetCursor(int x,int y,int attr);
  74.     void ClrCursor();
  75.     void InitColorMap();
  76.  
  77.     void ReadWindowParameters();
  78.  
  79.     };
  80. //&>>&0 0 0 0
  81. extern mmm_Screen mmm_screen;
  82.  
  83. extern void DrawLine(char *Str, int PosY, char Attr,int slen);
  84. extern void SetSignalHandler();
  85.  
  86. //&<<&class mmm_KeyBoard{
  87. class mmm_KeyBoard{
  88.     void InitKeyboardLayout();
  89.     char *InitDefaultAltCase();
  90.  
  91. public:
  92.     char *AltCase;
  93.     char keys[4][128];
  94.     int LastScanCode;
  95.     void SetACode(int n);
  96.     mmm_KeyBoard();
  97.     ~mmm_KeyBoard();
  98.     int GetScan();
  99.     friend void SegmentViolationHandler(int a);
  100.     void ChangeConsole(int num);
  101. };
  102. //&>>&6 0 6 13
  103. extern mmm_KeyBoard mmm_KBD;
  104.  
  105. void MkScan(int scancode);
  106.  
  107. #endif
  108.  
  109. extern volatile int mmm_f_Shift, mmm_f_Alt, mmm_f_Ctrl, mmm_f_Caps;
  110.  
  111. //&>>&D 0 D 0
  112.