CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
rapid7

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

GitHub Repository: rapid7/metasploit-framework
Path: blob/master/external/source/vncdll/winvnc/translate.h
Views: 11779
1
// Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved.
2
//
3
// This file is part of the VNC system.
4
//
5
// The VNC system is free software; you can redistribute it and/or modify
6
// it under the terms of the GNU General Public License as published by
7
// the Free Software Foundation; either version 2 of the License, or
8
// (at your option) any later version.
9
//
10
// This program is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
// GNU General Public License for more details.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with this program; if not, write to the Free Software
17
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
18
// USA.
19
//
20
// TightVNC distribution homepage on the Web: http://www.tightvnc.com/
21
//
22
// If the source code for the VNC system is not available from the place
23
// whence you received this file, check http://www.uk.research.att.com/vnc or contact
24
// the authors on [email protected] for information on obtaining it.
25
26
27
/* translate.h - prototypes of functions in translate.cpp */
28
29
#ifndef TRANSLATE_H__
30
#define TRANSLATE_H__
31
32
#include "stdhdrs.h"
33
#include "rfb.h"
34
35
// Translate function prototype!
36
typedef void (*rfbTranslateFnType)(char *table, rfbPixelFormat *in,
37
rfbPixelFormat *out,
38
char *iptr, char *optr,
39
int bytesBetweenInputLines,
40
int width, int height);
41
42
// Init function prototype!
43
typedef void (*rfbInitTableFnType)(char **table, rfbPixelFormat *in,
44
rfbPixelFormat *out);
45
46
47
// External translation stuff
48
extern void rfbTranslateNone(char *table, rfbPixelFormat *in,
49
rfbPixelFormat *out,
50
char *iptr, char *optr,
51
int bytesBetweenInputLines,
52
int width, int height);
53
54
// Macro to compare pixel formats.
55
#define PF_EQ(x,y) \
56
((x.bitsPerPixel == y.bitsPerPixel) && \
57
(x.depth == y.depth) && \
58
(x.trueColour == y.trueColour) && \
59
((x.bigEndian == y.bigEndian) || (x.bitsPerPixel == 8)) && \
60
(!x.trueColour || ((x.redMax == y.redMax) && \
61
(x.greenMax == y.greenMax) && \
62
(x.blueMax == y.blueMax) && \
63
(x.redShift == y.redShift) && \
64
(x.greenShift == y.greenShift) && \
65
(x.blueShift == y.blueShift))))
66
67
// Translation functions themselves
68
extern rfbInitTableFnType rfbInitTrueColourSingleTableFns[];
69
extern rfbInitTableFnType rfbInitColourMapSingleTableFns[];
70
extern rfbInitTableFnType rfbInitTrueColourRGBTablesFns[];
71
extern rfbTranslateFnType rfbTranslateWithSingleTableFns[3][3];
72
extern rfbTranslateFnType rfbTranslateWithRGBTablesFns[3][3];
73
74
/*
75
extern Bool rfbSetTranslateFunction(rfbClientPtr cl);
76
extern void rfbSetClientColourMaps(int firstColour, int nColours);
77
extern Bool rfbSetClientColourMap(rfbClientPtr cl, int firstColour,
78
int nColours);
79
*/
80
81
#endif
82
83