f78b12e570284aa8291f4ca1add24937fd107403vboxsync/*
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncCopyright 1987, 1998 The Open Group
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncPermission to use, copy, modify, distribute, and sell this software and its
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncdocumentation for any purpose is hereby granted without fee, provided that
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncthe above copyright notice appear in all copies and that both that
f78b12e570284aa8291f4ca1add24937fd107403vboxsynccopyright notice and this permission notice appear in supporting
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncdocumentation.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncThe above copyright notice and this permission notice shall be included in
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncall copies or substantial portions of the Software.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncExcept as contained in this notice, the name of The Open Group shall not be
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncused in advertising or otherwise to promote the sale, use or other dealings
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncin this Software without prior written authorization from The Open Group.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncCopyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync All Rights Reserved
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncPermission to use, copy, modify, and distribute this software and its
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncdocumentation for any purpose and without fee is hereby granted,
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncprovided that the above copyright notice appear in all copies and that
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncboth that copyright notice and this permission notice appear in
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncsupporting documentation, and that the name of Digital not be
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncused in advertising or publicity pertaining to distribution of the
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncsoftware without specific, written prior permission.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncSOFTWARE.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync*/
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#ifndef CMAP_H
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define CMAP_H 1
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#include <X11/Xproto.h>
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#include "screenint.h"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#include "window.h"
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/* these follow X.h's AllocNone and AllocAll */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define CM_PSCREEN 2
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define CM_PWIN 3
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/* Passed internally in colormap.c */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define REDMAP 0
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define GREENMAP 1
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define BLUEMAP 2
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define PSEUDOMAP 3
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define AllocPrivate (-1)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define AllocTemporary (-2)
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define DynamicClass 1
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/* Values for the flags field of a colormap. These should have 1 bit set
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * and not overlap */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define IsDefault 1
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define AllAllocated 2
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define BeingCreated 4
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef CARD32 Pixel;
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct _CMEntry *EntryPtr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/* moved to screenint.h: typedef struct _ColormapRec *ColormapPtr */
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef struct _colorResource *colorResourcePtr;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int CreateColormap(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Colormap /*mid*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ScreenPtr /*pScreen*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync VisualPtr /*pVisual*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ColormapPtr* /*ppcmap*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*alloc*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*client*/);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int FreeColormap(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync pointer /*pmap*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XID /*mid*/);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int TellLostMap(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync WindowPtr /*pwin*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync pointer /* Colormap *pmid */);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int TellGainedMap(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync WindowPtr /*pwin*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync pointer /* Colormap *pmid */);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int CopyColormapAndFree(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Colormap /*mid*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ColormapPtr /*pSrc*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*client*/);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int AllocColor(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ColormapPtr /*pmap*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned short* /*pred*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned short* /*pgreen*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync unsigned short* /*pblue*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Pixel* /*pPix*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*client*/);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void FakeAllocColor(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ColormapPtr /*pmap*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xColorItem * /*item*/);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT void FakeFreeColor(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ColormapPtr /*pmap*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Pixel /*pixel*/);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsynctypedef int (*ColorCompareProcPtr)(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync EntryPtr /*pent*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xrgb * /*prgb*/);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int FindColor(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ColormapPtr /*pmap*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync EntryPtr /*pentFirst*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*size*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xrgb* /*prgb*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Pixel* /*pPixel*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*channel*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*client*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ColorCompareProcPtr /*comp*/);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int QueryColors(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ColormapPtr /*pmap*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*count*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Pixel* /*ppixIn*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xrgb* /*prgbList*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr client);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int FreeClientPixels(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync pointer /*pcr*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync XID /*fakeid*/);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int AllocColorCells(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*client*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ColormapPtr /*pmap*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*colors*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*planes*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool /*contig*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Pixel* /*ppix*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Pixel* /*masks*/);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int AllocColorPlanes(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*client*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ColormapPtr /*pmap*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*colors*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*r*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*g*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*b*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Bool /*contig*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Pixel* /*pixels*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Pixel* /*prmask*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Pixel* /*pgmask*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Pixel* /*pbmask*/);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int FreeColors(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ColormapPtr /*pmap*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*client*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*count*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Pixel* /*pixels*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Pixel /*mask*/);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int StoreColors(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ColormapPtr /*pmap*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /*count*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync xColorItem* /*defs*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ClientPtr client);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT int IsMapInstalled(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync Colormap /*map*/,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync WindowPtr /*pWin*/);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncextern _X_EXPORT Bool ResizeVisualArray(
f78b12e570284aa8291f4ca1add24937fd107403vboxsync ScreenPtr /* pScreen */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync int /* new_vis_count */,
f78b12e570284aa8291f4ca1add24937fd107403vboxsync DepthPtr /* depth */);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#endif /* CMAP_H */