Magellan Linux

Contents of /trunk/vnc/patches/vnc-server-always-use-fb.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 153 - (show annotations) (download)
Tue May 8 20:52:56 2007 UTC (17 years, 5 months ago) by niro
File size: 6159 byte(s)
-import

1 --- unix/xc/programs/Xserver/vnc/Xvnc/xvnc.cc.always_use_fb 2007-03-05 14:03:21.000000000 +0100
2 +++ unix/xc/programs/Xserver/vnc/Xvnc/xvnc.cc 2007-03-05 14:10:57.000000000 +0100
3 @@ -33,27 +33,28 @@
4 #include <network/TcpSocket.h>
5 #include "vncExtInit.h"
6
7 +#ifdef HAVE_DIX_CONFIG_H
8 +#include <dix-config.h>
9 +#endif
10 +
11 extern "C" {
12 #define class c_class
13 #define public c_public
14 +#define new c_new
15 #ifdef WIN32
16 #include <X11/Xwinsock.h>
17 #endif
18 #include <stdio.h>
19 -#include "X11/X.h"
20 +#include <X11/X.h>
21 #define NEED_EVENTS
22 -#include "X11/Xproto.h"
23 -#include "X11/Xos.h"
24 +#include <X11/Xproto.h>
25 +#include <X11/Xos.h>
26 #include "scrnintstr.h"
27 #include "servermd.h"
28 -#ifdef VNC_USE_FB
29 #include "fb.h"
30 -#else
31 -#define PSZ 8
32 -#include "cfb.h"
33 -#endif
34 #include "mi.h"
35 -#include "mibstore.h"
36 +#include "micmap.h"
37 +#include "miline.h"
38 #include "colormapst.h"
39 #include "gcstruct.h"
40 #include "input.h"
41 @@ -66,24 +67,12 @@
42 #endif
43 #include <X11/XWDFile.h>
44 #include "dix.h"
45 -#include "miline.h"
46 #include "inputstr.h"
47 #include "keysym.h"
48 extern int defaultColorVisualClass;
49 +#undef new
50 #undef class
51 #undef public
52 -#ifndef VNC_USE_FB
53 - extern Bool cfb16ScreenInit(ScreenPtr, pointer, int, int, int, int, int);
54 - extern Bool cfb32ScreenInit(ScreenPtr, pointer, int, int, int, int, int);
55 - extern Bool cfb16CreateGC(GCPtr);
56 - extern Bool cfb32CreateGC(GCPtr);
57 - extern void cfb16GetSpans(DrawablePtr, int, DDXPointPtr, int*, int, char*);
58 - extern void cfb32GetSpans(DrawablePtr, int, DDXPointPtr, int*, int, char*);
59 - extern void cfb16GetImage(DrawablePtr, int, int, int, int, unsigned int,
60 - unsigned long, char*);
61 - extern void cfb32GetImage(DrawablePtr, int, int, int, int, unsigned int,
62 - unsigned long, char*);
63 -#endif
64 }
65
66 #define XVNCVERSION "Free Edition 4.1.2"
67 @@ -502,67 +491,6 @@
68 }
69 #endif
70
71 -#ifndef VNC_USE_FB
72 -static Bool vfbMultiDepthCreateGC(GCPtr pGC)
73 -{
74 - switch (vfbBitsPerPixel(pGC->depth))
75 - {
76 - case 1: return mfbCreateGC (pGC);
77 - case 8: return cfbCreateGC (pGC);
78 - case 16: return cfb16CreateGC (pGC);
79 - case 32: return cfb32CreateGC (pGC);
80 - default: return FALSE;
81 - }
82 -}
83 -
84 -static void vfbMultiDepthGetSpans(
85 - DrawablePtr pDrawable, /* drawable from which to get bits */
86 - int wMax, /* largest value of all *pwidths */
87 - register DDXPointPtr ppt, /* points to start copying from */
88 - int *pwidth, /* list of number of bits to copy */
89 - int nspans, /* number of scanlines to copy */
90 - char *pdstStart) /* where to put the bits */
91 -{
92 - switch (pDrawable->bitsPerPixel) {
93 - case 1:
94 - mfbGetSpans(pDrawable, wMax, ppt, pwidth, nspans, pdstStart);
95 - break;
96 - case 8:
97 - cfbGetSpans(pDrawable, wMax, ppt, pwidth, nspans, pdstStart);
98 - break;
99 - case 16:
100 - cfb16GetSpans(pDrawable, wMax, ppt, pwidth, nspans, pdstStart);
101 - break;
102 - case 32:
103 - cfb32GetSpans(pDrawable, wMax, ppt, pwidth, nspans, pdstStart);
104 - break;
105 - }
106 - return;
107 -}
108 -
109 -static void
110 -vfbMultiDepthGetImage(DrawablePtr pDrawable, int sx, int sy, int w, int h,
111 - unsigned int format, unsigned long planeMask,
112 - char *pdstLine)
113 -{
114 - switch (pDrawable->bitsPerPixel)
115 - {
116 - case 1:
117 - mfbGetImage(pDrawable, sx, sy, w, h, format, planeMask, pdstLine);
118 - break;
119 - case 8:
120 - cfbGetImage(pDrawable, sx, sy, w, h, format, planeMask, pdstLine);
121 - break;
122 - case 16:
123 - cfb16GetImage(pDrawable, sx, sy, w, h, format, planeMask, pdstLine);
124 - break;
125 - case 32:
126 - cfb32GetImage(pDrawable, sx, sy, w, h, format, planeMask, pdstLine);
127 - break;
128 - }
129 -}
130 -#endif
131 -
132 static ColormapPtr InstalledMaps[MAXSCREENS];
133
134 static int vfbListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps)
135 @@ -832,44 +760,32 @@
136 defaultColorVisualClass
137 = (pvfb->bitsPerPixel > 8) ? TrueColor : PseudoColor;
138
139 -#ifdef VNC_USE_FB
140 - if (!fbScreenInit(pScreen, pbits, pvfb->width, pvfb->height,
141 - dpi, dpi, pvfb->paddedWidth, pvfb->bitsPerPixel))
142 - return FALSE;
143 + miSetPixmapDepths();
144
145 -#ifdef RENDER
146 - if (ret && Render)
147 - fbPictureInit(pScreen, 0, 0);
148 -#endif /* RENDER */
149 -#else /* VNC_USE_FB */
150 switch (pvfb->bitsPerPixel)
151 {
152 - case 1:
153 - ret = mfbScreenInit(pScreen, pbits, pvfb->width, pvfb->height,
154 - dpi, dpi, pvfb->paddedWidth);
155 - break;
156 case 8:
157 - ret = cfbScreenInit(pScreen, pbits, pvfb->width, pvfb->height,
158 - dpi, dpi, pvfb->paddedWidth);
159 + miSetVisualTypesAndMasks (8, 1 << PseudoColor, 8, PseudoColor, 0, 0, 0);
160 +
161 break;
162 case 16:
163 - ret = cfb16ScreenInit(pScreen, pbits, pvfb->width, pvfb->height,
164 - dpi, dpi, pvfb->paddedWidth);
165 + miSetVisualTypesAndMasks (16, 1 << TrueColor, 8, TrueColor, 0xf800, 0x07e0, 0x001f);
166 break;
167 case 32:
168 - ret = cfb32ScreenInit(pScreen, pbits, pvfb->width, pvfb->height,
169 - dpi, dpi, pvfb->paddedWidth);
170 + miSetVisualTypesAndMasks (32, 1 << TrueColor , 8, TrueColor, 0xff000000, 0x00ff0000, 0x0000ff00);
171 break;
172 default:
173 return FALSE;
174 }
175
176 - if (!ret) return FALSE;
177 + if (!fbScreenInit(pScreen, pbits, pvfb->width, pvfb->height,
178 + dpi, dpi, pvfb->paddedWidth, pvfb->bitsPerPixel))
179 + return FALSE;
180
181 - pScreen->CreateGC = vfbMultiDepthCreateGC;
182 - pScreen->GetImage = vfbMultiDepthGetImage;
183 - pScreen->GetSpans = vfbMultiDepthGetSpans;
184 -#endif
185 +#ifdef RENDER
186 + if (ret && Render)
187 + fbPictureInit(pScreen, 0, 0);
188 +#endif /* RENDER */
189
190 pScreen->InstallColormap = vfbInstallColormap;
191 pScreen->UninstallColormap = vfbUninstallColormap;
192 @@ -915,18 +831,7 @@
193 }
194 }
195
196 -#ifdef VNC_USE_FB
197 ret = fbCreateDefColormap(pScreen);
198 -#else
199 - if (pvfb->bitsPerPixel == 1)
200 - {
201 - ret = mfbCreateDefColormap(pScreen);
202 - }
203 - else
204 - {
205 - ret = cfbCreateDefColormap(pScreen);
206 - }
207 -#endif
208
209 miSetZeroLineBias(pScreen, pvfb->lineBias);
210