00001 00002 00003 #ifndef __LgiLinux_h 00004 #define __LgiLinux_h 00005 00006 #include <stdio.h> 00007 #include <X11/Xlib.h> 00008 #include <X11/Xutil.h> 00009 #include <X11/Xatom.h> 00010 00011 #include "GMem.h" 00012 #include "GToken.h" 00013 #include "GRect.h" 00014 00015 #undef Status 00016 #undef Success 00017 #undef None 00018 #undef Above 00019 #undef Below 00020 00021 #define XStatus int 00022 #define XSuccess 0 00023 #define XAbove 0 00024 #define XBelow 1 00025 #define XNone 0L 00026 00027 extern "C" uint64 LgiCurrentTime(); 00028 extern bool _GetKdePaths(GToken &t, char *Type); 00029 extern bool _GetIniField(char *Grp, char *Field, char *In, char *Out, int OutSize); 00030 extern bool _GetKdeFont(char *FontType, char *Font, int FontBufSize, int &PointSize); 00031 00032 XChar2b *ConvertToX(char16 *s, int len = -1); 00033 extern char *XErr(int i); 00034 extern char *XMessage(int i); 00035 00036 class QObject 00037 { 00038 public: 00039 virtual ~QObject() {} 00040 00041 static Display *XDisplay(); 00042 static class QApplication *QApp(); 00043 }; 00044 00045 class QInput : public QObject 00046 { 00047 XIM Method; 00048 XIC Context; 00049 00050 public: 00051 QInput(); 00052 ~QInput(); 00053 }; 00054 00055 class OsPoint 00056 { 00057 public: 00058 int x, y; 00059 00060 OsPoint() 00061 { 00062 x = y = 0; 00063 } 00064 00065 OsPoint(int X, int Y) 00066 { 00067 x = X; 00068 y = Y; 00069 } 00070 00071 void set(int sx, int sy) { x = sx; y = sy; } 00072 }; 00073 00074 class QCursor : public QObject 00075 { 00076 public: 00077 OsPoint &pos(); 00078 }; 00079 00080 class QEventSink : public QObject 00081 { 00082 public: 00083 virtual void OnEvent(XEvent *Event) = 0; 00084 }; 00085 00086 00087 #include "qlist.h" 00088 00089 #endif