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 enum ViewBackground
00087 {
00088 NoBackground
00089 };
00090
00091 #include "qlist.h"
00092
00093 #endif