/[rdesktop]/sourceforge.net/rdesktop/trunk/vnc/vnc.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /sourceforge.net/rdesktop/trunk/vnc/vnc.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1488 - (show annotations)
Fri May 15 08:18:08 2009 UTC (15 years, 1 month ago) by astrand
File MIME type: text/plain
File size: 2238 byte(s)
Moving rdesktop trunk to correct location. 


1 #ifndef VNC_H
2 #define VNC_H
3
4 #define BOOL rfb_BOOL
5 #include <rfb/rfb.h>
6 #undef BOOL
7
8 typedef unsigned int vncPixel;
9
10 typedef struct
11 {
12 uint16_t w, h;
13 uint16_t linew;
14 rfbPixelFormat *format;
15 char *data;
16 BOOL owner;
17 }
18 vncBuffer;
19
20 extern int vncPreparedClientSocket;
21 extern int vncPreparedServerSocket;
22
23 /* - Buffer management */
24 extern vncBuffer *vncNewBuffer(int w, int h, int depth);
25 extern vncBuffer *vncDupBuffer(vncBuffer * b);
26 extern void vncDeleteBuffer(vncBuffer * b);
27
28 /* - Colourmaps */
29 typedef struct
30 {
31 uint8_t r, g, b;
32 }
33 vncColour;
34
35 extern void vncSetColourMap(rfbScreenInfoPtr s, rfbColourMap * m);
36 extern rfbColourMap *vncNewColourMap(rfbScreenInfoPtr s, int n);
37 extern void vncSetColourMapEntry(rfbColourMap * m, int i, vncPixel r, vncPixel g, vncPixel b);
38 extern void vncDeleteColourMap(rfbColourMap * m);
39
40 /* - Simple pixel manipulation */
41 extern vncPixel vncGetPixel(vncBuffer * b, int x, int y);
42 extern void vncSetPixel(vncBuffer * b, int x, int y, vncPixel c);
43
44 /* - Drawing primitives */
45 extern void vncSetRect(rfbScreenInfoPtr s, int x, int y, int w, int h, vncPixel c);
46 extern void vncCopyBlit(rfbScreenInfoPtr s, int x, int y, int w, int h, int srcx, int srcy);
47 extern void vncCopyBlitFrom(rfbScreenInfoPtr s, int x, int y, int w, int h,
48 vncBuffer * b, int srcx, int srcy);
49 extern void vncTransBlitFrom(rfbScreenInfoPtr s, int x, int y, int w, int h,
50 vncBuffer * b, int srcx, int srcy, int bg);
51 extern void vncXorBlitFrom(rfbScreenInfoPtr s, int x, int y, int w, int h,
52 vncBuffer * b, int srcx, int srcy);
53 extern void vncAndBlitFrom(rfbScreenInfoPtr s, int x, int y, int w, int h,
54 vncBuffer * b, int srcx, int srcy);
55 extern vncBuffer *vncGetRect(rfbScreenInfoPtr s, int x, int y, int w, int h);
56
57 // - Low level VNC update primitives upon which the rest are based
58 extern void vncQueueCopyRect(rfbScreenInfoPtr s, int x, int y, int w, int h, int src_x, int src_y);
59 extern void vncQueueUpdate(rfbScreenInfoPtr s, int x, int y, int w, int h);
60
61 /* cursor */
62 extern rfbCursorPtr vncNewCursor(vncBuffer * mask, vncBuffer * pointer, int hotx, int hoty);
63 extern void vncSetCursor(rfbScreenInfoPtr s, rfbCursorPtr c);
64
65 int vncListenAtTcpAddr(unsigned short port);
66 void vncPrintStats();
67
68 #endif

  ViewVC Help
Powered by ViewVC 1.1.26