blob: 028de8c6b1bc638f41141a7559857af8fc2d8efe [file] [log] [blame]
San Mehata430b2b2014-09-23 08:30:51 -07001#include <stdio.h>
2#include <rfb/rfb.h>
3#include <rfb/keysym.h>
4
5#define CONCAT2(a,b) a##b
6#define CONCAT2E(a,b) CONCAT2(a,b)
7#define CONCAT3(a,b,c) a##b##c
8#define CONCAT3E(a,b,c) CONCAT3(a,b,c)
9
10#define FUNCNAME rfbRotate
11#define FUNC(i, j) (h - 1 - j + i * h)
12#define SWAPDIMENSIONS
13#define OUTBITS 8
14#include "rotatetemplate.c"
15#define OUTBITS 16
16#include "rotatetemplate.c"
17#define OUTBITS 32
18#include "rotatetemplate.c"
19#undef FUNCNAME
20#undef FUNC
21
22#define FUNCNAME rfbRotateCounterClockwise
23#define FUNC(i, j) (j + (w - 1 - i) * h)
24#define OUTBITS 8
25#include "rotatetemplate.c"
26#define OUTBITS 16
27#include "rotatetemplate.c"
28#define OUTBITS 32
29#include "rotatetemplate.c"
30#undef FUNCNAME
31#undef FUNC
32#undef SWAPDIMENSIONS
33
34#define FUNCNAME rfbFlipHorizontally
35#define FUNC(i, j) ((w - 1 - i) + j * w)
36#define OUTBITS 8
37#include "rotatetemplate.c"
38#define OUTBITS 16
39#include "rotatetemplate.c"
40#define OUTBITS 32
41#include "rotatetemplate.c"
42#undef FUNCNAME
43#undef FUNC
44
45#define FUNCNAME rfbFlipVertically
46#define FUNC(i, j) (i + (h - 1 - j) * w)
47#define OUTBITS 8
48#include "rotatetemplate.c"
49#define OUTBITS 16
50#include "rotatetemplate.c"
51#define OUTBITS 32
52#include "rotatetemplate.c"
53#undef FUNCNAME
54#undef FUNC
55
56#define FUNCNAME rfbRotateHundredAndEighty
57#define FUNC(i, j) ((w - 1 - i) + (h - 1 - j) * w)
58#define OUTBITS 8
59#include "rotatetemplate.c"
60#define OUTBITS 16
61#include "rotatetemplate.c"
62#define OUTBITS 32
63#include "rotatetemplate.c"
64#undef FUNCNAME
65#undef FUNC
66
67static void HandleKey(rfbBool down,rfbKeySym key,rfbClientPtr cl)
68{
69 if(down) {
70 if (key==XK_Escape || key=='q' || key=='Q')
71 rfbCloseClient(cl);
72 else if (key == 'r')
73 rfbRotate(cl->screen);
74 else if (key == 'R')
75 rfbRotateCounterClockwise(cl->screen);
76 else if (key == 'f')
77 rfbFlipHorizontally(cl->screen);
78 else if (key == 'F')
79 rfbFlipVertically(cl->screen);
80 }
81}
82
83#define HAVE_HANDLEKEY
84#include "pnmshow.c"
85