00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __IMG_TileInetBuf_h__
00023 #define __IMG_TileInetBuf_h__
00024
00025 #include "IMG_API.h"
00026 #include <UT/UT_SysClone.h>
00027 #include <UT/UT_NetSocket.h>
00028 #include "IMG_TileBuffer.h"
00029
00030 class UT_String;
00031
00032 class IMG_API IMG_TileInetBuf : public IMG_TileBuffer {
00033 public:
00034 IMG_TileInetBuf( char *host = NULL, UT_NetSocket *theServer = NULL,
00035 int port = 0 );
00036
00037 ~IMG_TileInetBuf();
00038
00039 virtual int getTileWidth() const { return myTW; }
00040 virtual int getTileHeight() const { return myTH; }
00041
00042 virtual void setQuitFlag(int val=1);
00043 virtual int getQuitFlag() const;
00044
00045 virtual void setMouseXY(int x, int y)
00046 { myMX = x; myMY = y; };
00047 virtual void getMouseXY(int &x, int &y) const
00048 { x = myMX; y = myMY; };
00049
00050 virtual int canWriteTile() const;
00051 virtual int canReadTile() const;
00052
00053 virtual void writeTile(int xl, int xr, int yb, int yt,
00054 const void *data);
00055 virtual void readTile(IMG_Raster &rp, int *coords=0);
00056 virtual void getKeyString( char *str );
00057
00058 int getPort()
00059 {
00060 return myInetSocket ? myInetSocket->getPort() : 0;
00061 }
00062 void getStartupCommand( UT_String &cmd );
00063 void sendStartupCommand( int pid, int x, int y,
00064 int w, int h );
00065
00066 int promptRetry();
00067
00068 static int getServerPort();
00069
00070 protected:
00071 virtual void setTileSize(int w, int h)
00072 {
00073 myTW = w; myTH = h;
00074 }
00075
00076 private:
00077 int myTW, myTH, myQuitFlag;
00078 int myMX, myMY;
00079 int myTotalData, myDataSoFar;
00080 UT_NetSocket *myInetSocket;
00081 };
00082
00083 #endif