mi.h revision 05b261ec
105b261ecSmrg/***********************************************************
205b261ecSmrg
305b261ecSmrgCopyright 1987, 1998  The Open Group
405b261ecSmrg
505b261ecSmrgPermission to use, copy, modify, distribute, and sell this software and its
605b261ecSmrgdocumentation for any purpose is hereby granted without fee, provided that
705b261ecSmrgthe above copyright notice appear in all copies and that both that
805b261ecSmrgcopyright notice and this permission notice appear in supporting
905b261ecSmrgdocumentation.
1005b261ecSmrg
1105b261ecSmrgThe above copyright notice and this permission notice shall be included in
1205b261ecSmrgall copies or substantial portions of the Software.
1305b261ecSmrg
1405b261ecSmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1505b261ecSmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1605b261ecSmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
1705b261ecSmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
1805b261ecSmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1905b261ecSmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2005b261ecSmrg
2105b261ecSmrgExcept as contained in this notice, the name of The Open Group shall not be
2205b261ecSmrgused in advertising or otherwise to promote the sale, use or other dealings
2305b261ecSmrgin this Software without prior written authorization from The Open Group.
2405b261ecSmrg
2505b261ecSmrg
2605b261ecSmrgCopyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
2705b261ecSmrg
2805b261ecSmrg                        All Rights Reserved
2905b261ecSmrg
3005b261ecSmrgPermission to use, copy, modify, and distribute this software and its
3105b261ecSmrgdocumentation for any purpose and without fee is hereby granted,
3205b261ecSmrgprovided that the above copyright notice appear in all copies and that
3305b261ecSmrgboth that copyright notice and this permission notice appear in
3405b261ecSmrgsupporting documentation, and that the name of Digital not be
3505b261ecSmrgused in advertising or publicity pertaining to distribution of the
3605b261ecSmrgsoftware without specific, written prior permission.
3705b261ecSmrg
3805b261ecSmrgDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
3905b261ecSmrgALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
4005b261ecSmrgDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
4105b261ecSmrgANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
4205b261ecSmrgWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
4305b261ecSmrgARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
4405b261ecSmrgSOFTWARE.
4505b261ecSmrg
4605b261ecSmrg******************************************************************/
4705b261ecSmrg
4805b261ecSmrg#ifndef MI_H
4905b261ecSmrg#define MI_H
5005b261ecSmrg#include <X11/X.h>
5105b261ecSmrg#include "region.h"
5205b261ecSmrg#include "validate.h"
5305b261ecSmrg#include "window.h"
5405b261ecSmrg#include "gc.h"
5505b261ecSmrg#include <X11/fonts/font.h>
5605b261ecSmrg#include "input.h"
5705b261ecSmrg#include "cursor.h"
5805b261ecSmrg
5905b261ecSmrg#define MiBits	CARD32
6005b261ecSmrg
6105b261ecSmrgtypedef struct _miDash *miDashPtr;
6205b261ecSmrg#define EVEN_DASH	0
6305b261ecSmrg#define ODD_DASH	~0
6405b261ecSmrg
6505b261ecSmrg/* miarc.c */
6605b261ecSmrg
6705b261ecSmrgextern void miPolyArc(
6805b261ecSmrg    DrawablePtr /*pDraw*/,
6905b261ecSmrg    GCPtr /*pGC*/,
7005b261ecSmrg    int /*narcs*/,
7105b261ecSmrg    xArc * /*parcs*/
7205b261ecSmrg);
7305b261ecSmrg
7405b261ecSmrg/* mibitblt.c */
7505b261ecSmrg
7605b261ecSmrgextern RegionPtr miCopyArea(
7705b261ecSmrg    DrawablePtr /*pSrcDrawable*/,
7805b261ecSmrg    DrawablePtr /*pDstDrawable*/,
7905b261ecSmrg    GCPtr /*pGC*/,
8005b261ecSmrg    int /*xIn*/,
8105b261ecSmrg    int /*yIn*/,
8205b261ecSmrg    int /*widthSrc*/,
8305b261ecSmrg    int /*heightSrc*/,
8405b261ecSmrg    int /*xOut*/,
8505b261ecSmrg    int /*yOut*/
8605b261ecSmrg);
8705b261ecSmrg
8805b261ecSmrgextern RegionPtr miCopyPlane(
8905b261ecSmrg    DrawablePtr /*pSrcDrawable*/,
9005b261ecSmrg    DrawablePtr /*pDstDrawable*/,
9105b261ecSmrg    GCPtr /*pGC*/,
9205b261ecSmrg    int /*srcx*/,
9305b261ecSmrg    int /*srcy*/,
9405b261ecSmrg    int /*width*/,
9505b261ecSmrg    int /*height*/,
9605b261ecSmrg    int /*dstx*/,
9705b261ecSmrg    int /*dsty*/,
9805b261ecSmrg    unsigned long /*bitPlane*/
9905b261ecSmrg);
10005b261ecSmrg
10105b261ecSmrgextern void miGetImage(
10205b261ecSmrg    DrawablePtr /*pDraw*/,
10305b261ecSmrg    int /*sx*/,
10405b261ecSmrg    int /*sy*/,
10505b261ecSmrg    int /*w*/,
10605b261ecSmrg    int /*h*/,
10705b261ecSmrg    unsigned int /*format*/,
10805b261ecSmrg    unsigned long /*planeMask*/,
10905b261ecSmrg    char * /*pdstLine*/
11005b261ecSmrg);
11105b261ecSmrg
11205b261ecSmrgextern void miPutImage(
11305b261ecSmrg    DrawablePtr /*pDraw*/,
11405b261ecSmrg    GCPtr /*pGC*/,
11505b261ecSmrg    int /*depth*/,
11605b261ecSmrg    int /*x*/,
11705b261ecSmrg    int /*y*/,
11805b261ecSmrg    int /*w*/,
11905b261ecSmrg    int /*h*/,
12005b261ecSmrg    int /*leftPad*/,
12105b261ecSmrg    int /*format*/,
12205b261ecSmrg    char * /*pImage*/
12305b261ecSmrg);
12405b261ecSmrg
12505b261ecSmrg/* micursor.c */
12605b261ecSmrg
12705b261ecSmrgextern void miRecolorCursor(
12805b261ecSmrg    ScreenPtr /*pScr*/,
12905b261ecSmrg    CursorPtr /*pCurs*/,
13005b261ecSmrg    Bool /*displayed*/
13105b261ecSmrg);
13205b261ecSmrg
13305b261ecSmrg/* midash.c */
13405b261ecSmrg
13505b261ecSmrgextern void miStepDash(
13605b261ecSmrg    int /*dist*/,
13705b261ecSmrg    int * /*pDashIndex*/,
13805b261ecSmrg    unsigned char * /*pDash*/,
13905b261ecSmrg    int /*numInDashList*/,
14005b261ecSmrg    int * /*pDashOffset*/
14105b261ecSmrg);
14205b261ecSmrg
14305b261ecSmrg/* mieq.c */
14405b261ecSmrg
14505b261ecSmrg
14605b261ecSmrg#ifndef INPUT_H
14705b261ecSmrgtypedef struct _DeviceRec *DevicePtr;
14805b261ecSmrg#endif
14905b261ecSmrg
15005b261ecSmrgextern Bool mieqInit(
15105b261ecSmrg    void
15205b261ecSmrg);
15305b261ecSmrg
15405b261ecSmrgextern void mieqEnqueue(
15505b261ecSmrg    DeviceIntPtr /*pDev*/,
15605b261ecSmrg    xEventPtr /*e*/
15705b261ecSmrg);
15805b261ecSmrg
15905b261ecSmrgextern void mieqSwitchScreen(
16005b261ecSmrg    ScreenPtr /*pScreen*/,
16105b261ecSmrg    Bool /*fromDIX*/
16205b261ecSmrg);
16305b261ecSmrg
16405b261ecSmrgextern void mieqProcessInputEvents(
16505b261ecSmrg    void
16605b261ecSmrg);
16705b261ecSmrg
16805b261ecSmrgtypedef void (*mieqHandler)(int, xEventPtr, DeviceIntPtr, int);
16905b261ecSmrgvoid mieqSetHandler(int event, mieqHandler handler);
17005b261ecSmrg
17105b261ecSmrg/* miexpose.c */
17205b261ecSmrg
17305b261ecSmrgextern RegionPtr miHandleExposures(
17405b261ecSmrg    DrawablePtr /*pSrcDrawable*/,
17505b261ecSmrg    DrawablePtr /*pDstDrawable*/,
17605b261ecSmrg    GCPtr /*pGC*/,
17705b261ecSmrg    int /*srcx*/,
17805b261ecSmrg    int /*srcy*/,
17905b261ecSmrg    int /*width*/,
18005b261ecSmrg    int /*height*/,
18105b261ecSmrg    int /*dstx*/,
18205b261ecSmrg    int /*dsty*/,
18305b261ecSmrg    unsigned long /*plane*/
18405b261ecSmrg);
18505b261ecSmrg
18605b261ecSmrgextern void miSendGraphicsExpose(
18705b261ecSmrg    ClientPtr /*client*/,
18805b261ecSmrg    RegionPtr /*pRgn*/,
18905b261ecSmrg    XID /*drawable*/,
19005b261ecSmrg    int /*major*/,
19105b261ecSmrg    int /*minor*/
19205b261ecSmrg);
19305b261ecSmrg
19405b261ecSmrgextern void miSendExposures(
19505b261ecSmrg    WindowPtr /*pWin*/,
19605b261ecSmrg    RegionPtr /*pRgn*/,
19705b261ecSmrg    int /*dx*/,
19805b261ecSmrg    int /*dy*/
19905b261ecSmrg);
20005b261ecSmrg
20105b261ecSmrgextern void miWindowExposures(
20205b261ecSmrg    WindowPtr /*pWin*/,
20305b261ecSmrg    RegionPtr /*prgn*/,
20405b261ecSmrg    RegionPtr /*other_exposed*/
20505b261ecSmrg);
20605b261ecSmrg
20705b261ecSmrgextern void miPaintWindow(
20805b261ecSmrg    WindowPtr /*pWin*/,
20905b261ecSmrg    RegionPtr /*prgn*/,
21005b261ecSmrg    int /*what*/
21105b261ecSmrg);
21205b261ecSmrg
21305b261ecSmrgextern void miClearDrawable(
21405b261ecSmrg    DrawablePtr /*pDraw*/,
21505b261ecSmrg    GCPtr /*pGC*/
21605b261ecSmrg);
21705b261ecSmrg
21805b261ecSmrg/* mifillrct.c */
21905b261ecSmrg
22005b261ecSmrgextern void miPolyFillRect(
22105b261ecSmrg    DrawablePtr /*pDrawable*/,
22205b261ecSmrg    GCPtr /*pGC*/,
22305b261ecSmrg    int /*nrectFill*/,
22405b261ecSmrg    xRectangle * /*prectInit*/
22505b261ecSmrg);
22605b261ecSmrg
22705b261ecSmrg/* miglblt.c */
22805b261ecSmrg
22905b261ecSmrgextern void miPolyGlyphBlt(
23005b261ecSmrg    DrawablePtr /*pDrawable*/,
23105b261ecSmrg    GCPtr /*pGC*/,
23205b261ecSmrg    int /*x*/,
23305b261ecSmrg    int /*y*/,
23405b261ecSmrg    unsigned int /*nglyph*/,
23505b261ecSmrg    CharInfoPtr * /*ppci*/,
23605b261ecSmrg    pointer /*pglyphBase*/
23705b261ecSmrg);
23805b261ecSmrg
23905b261ecSmrgextern void miImageGlyphBlt(
24005b261ecSmrg    DrawablePtr /*pDrawable*/,
24105b261ecSmrg    GCPtr /*pGC*/,
24205b261ecSmrg    int /*x*/,
24305b261ecSmrg    int /*y*/,
24405b261ecSmrg    unsigned int /*nglyph*/,
24505b261ecSmrg    CharInfoPtr * /*ppci*/,
24605b261ecSmrg    pointer /*pglyphBase*/
24705b261ecSmrg);
24805b261ecSmrg
24905b261ecSmrg/* mipoly.c */
25005b261ecSmrg
25105b261ecSmrgextern void miFillPolygon(
25205b261ecSmrg    DrawablePtr /*dst*/,
25305b261ecSmrg    GCPtr /*pgc*/,
25405b261ecSmrg    int /*shape*/,
25505b261ecSmrg    int /*mode*/,
25605b261ecSmrg    int /*count*/,
25705b261ecSmrg    DDXPointPtr /*pPts*/
25805b261ecSmrg);
25905b261ecSmrg
26005b261ecSmrg/* mipolycon.c */
26105b261ecSmrg
26205b261ecSmrgextern Bool miFillConvexPoly(
26305b261ecSmrg    DrawablePtr /*dst*/,
26405b261ecSmrg    GCPtr /*pgc*/,
26505b261ecSmrg    int /*count*/,
26605b261ecSmrg    DDXPointPtr /*ptsIn*/
26705b261ecSmrg);
26805b261ecSmrg
26905b261ecSmrg/* mipolygen.c */
27005b261ecSmrg
27105b261ecSmrgextern Bool miFillGeneralPoly(
27205b261ecSmrg    DrawablePtr /*dst*/,
27305b261ecSmrg    GCPtr /*pgc*/,
27405b261ecSmrg    int /*count*/,
27505b261ecSmrg    DDXPointPtr /*ptsIn*/
27605b261ecSmrg);
27705b261ecSmrg
27805b261ecSmrg/* mipolypnt.c */
27905b261ecSmrg
28005b261ecSmrgextern void miPolyPoint(
28105b261ecSmrg    DrawablePtr /*pDrawable*/,
28205b261ecSmrg    GCPtr /*pGC*/,
28305b261ecSmrg    int /*mode*/,
28405b261ecSmrg    int /*npt*/,
28505b261ecSmrg    xPoint * /*pptInit*/
28605b261ecSmrg);
28705b261ecSmrg
28805b261ecSmrg/* mipolyrect.c */
28905b261ecSmrg
29005b261ecSmrgextern void miPolyRectangle(
29105b261ecSmrg    DrawablePtr /*pDraw*/,
29205b261ecSmrg    GCPtr /*pGC*/,
29305b261ecSmrg    int /*nrects*/,
29405b261ecSmrg    xRectangle * /*pRects*/
29505b261ecSmrg);
29605b261ecSmrg
29705b261ecSmrg/* mipolyseg.c */
29805b261ecSmrg
29905b261ecSmrgextern void miPolySegment(
30005b261ecSmrg    DrawablePtr /*pDraw*/,
30105b261ecSmrg    GCPtr /*pGC*/,
30205b261ecSmrg    int /*nseg*/,
30305b261ecSmrg    xSegment * /*pSegs*/
30405b261ecSmrg);
30505b261ecSmrg
30605b261ecSmrg/* mipolytext.c */
30705b261ecSmrg
30805b261ecSmrgextern int miPolyText8(
30905b261ecSmrg    DrawablePtr /*pDraw*/,
31005b261ecSmrg    GCPtr /*pGC*/,
31105b261ecSmrg    int /*x*/,
31205b261ecSmrg    int /*y*/,
31305b261ecSmrg    int /*count*/,
31405b261ecSmrg    char * /*chars*/
31505b261ecSmrg);
31605b261ecSmrg
31705b261ecSmrgextern int miPolyText16(
31805b261ecSmrg    DrawablePtr /*pDraw*/,
31905b261ecSmrg    GCPtr /*pGC*/,
32005b261ecSmrg    int /*x*/,
32105b261ecSmrg    int /*y*/,
32205b261ecSmrg    int /*count*/,
32305b261ecSmrg    unsigned short * /*chars*/
32405b261ecSmrg);
32505b261ecSmrg
32605b261ecSmrgextern void miImageText8(
32705b261ecSmrg    DrawablePtr /*pDraw*/,
32805b261ecSmrg    GCPtr /*pGC*/,
32905b261ecSmrg    int /*x*/,
33005b261ecSmrg    int /*y*/,
33105b261ecSmrg    int /*count*/,
33205b261ecSmrg    char * /*chars*/
33305b261ecSmrg);
33405b261ecSmrg
33505b261ecSmrgextern void miImageText16(
33605b261ecSmrg    DrawablePtr /*pDraw*/,
33705b261ecSmrg    GCPtr /*pGC*/,
33805b261ecSmrg    int /*x*/,
33905b261ecSmrg    int /*y*/,
34005b261ecSmrg    int /*count*/,
34105b261ecSmrg    unsigned short * /*chars*/
34205b261ecSmrg);
34305b261ecSmrg
34405b261ecSmrg/* mipushpxl.c */
34505b261ecSmrg
34605b261ecSmrgextern void miPushPixels(
34705b261ecSmrg    GCPtr /*pGC*/,
34805b261ecSmrg    PixmapPtr /*pBitMap*/,
34905b261ecSmrg    DrawablePtr /*pDrawable*/,
35005b261ecSmrg    int /*dx*/,
35105b261ecSmrg    int /*dy*/,
35205b261ecSmrg    int /*xOrg*/,
35305b261ecSmrg    int /*yOrg*/
35405b261ecSmrg);
35505b261ecSmrg
35605b261ecSmrg/* miregion.c */
35705b261ecSmrg
35805b261ecSmrg/* see also region.h */
35905b261ecSmrg
36005b261ecSmrgextern Bool miRectAlloc(
36105b261ecSmrg    RegionPtr /*pRgn*/,
36205b261ecSmrg    int /*n*/
36305b261ecSmrg);
36405b261ecSmrg
36505b261ecSmrgextern int miFindMaxBand(
36605b261ecSmrg    RegionPtr /*prgn*/
36705b261ecSmrg);
36805b261ecSmrg
36905b261ecSmrg#ifdef DEBUG
37005b261ecSmrgextern Bool miValidRegion(
37105b261ecSmrg    RegionPtr /*prgn*/
37205b261ecSmrg);
37305b261ecSmrg#endif
37405b261ecSmrg
37505b261ecSmrgextern Bool miRegionBroken(RegionPtr pReg);
37605b261ecSmrg
37705b261ecSmrg/* miscrinit.c */
37805b261ecSmrg
37905b261ecSmrgextern Bool miModifyPixmapHeader(
38005b261ecSmrg    PixmapPtr /*pPixmap*/,
38105b261ecSmrg    int /*width*/,
38205b261ecSmrg    int /*height*/,
38305b261ecSmrg    int /*depth*/,
38405b261ecSmrg    int /*bitsPerPixel*/,
38505b261ecSmrg    int /*devKind*/,
38605b261ecSmrg    pointer /*pPixData*/
38705b261ecSmrg);
38805b261ecSmrg
38905b261ecSmrgextern Bool miCreateScreenResources(
39005b261ecSmrg    ScreenPtr /*pScreen*/
39105b261ecSmrg);
39205b261ecSmrg
39305b261ecSmrgextern Bool miScreenDevPrivateInit(
39405b261ecSmrg    ScreenPtr /*pScreen*/,
39505b261ecSmrg    int /*width*/,
39605b261ecSmrg    pointer /*pbits*/
39705b261ecSmrg);
39805b261ecSmrg
39905b261ecSmrgextern Bool miScreenInit(
40005b261ecSmrg    ScreenPtr /*pScreen*/,
40105b261ecSmrg    pointer /*pbits*/,
40205b261ecSmrg    int /*xsize*/,
40305b261ecSmrg    int /*ysize*/,
40405b261ecSmrg    int /*dpix*/,
40505b261ecSmrg    int /*dpiy*/,
40605b261ecSmrg    int /*width*/,
40705b261ecSmrg    int /*rootDepth*/,
40805b261ecSmrg    int /*numDepths*/,
40905b261ecSmrg    DepthPtr /*depths*/,
41005b261ecSmrg    VisualID /*rootVisual*/,
41105b261ecSmrg    int /*numVisuals*/,
41205b261ecSmrg    VisualPtr /*visuals*/
41305b261ecSmrg);
41405b261ecSmrg
41505b261ecSmrgextern int miAllocateGCPrivateIndex(
41605b261ecSmrg    void
41705b261ecSmrg);
41805b261ecSmrg
41905b261ecSmrgextern PixmapPtr miGetScreenPixmap(
42005b261ecSmrg    ScreenPtr pScreen
42105b261ecSmrg);
42205b261ecSmrg
42305b261ecSmrgextern void miSetScreenPixmap(
42405b261ecSmrg    PixmapPtr pPix
42505b261ecSmrg);
42605b261ecSmrg
42705b261ecSmrg/* mivaltree.c */
42805b261ecSmrg
42905b261ecSmrgextern int miShapedWindowIn(
43005b261ecSmrg    ScreenPtr /*pScreen*/,
43105b261ecSmrg    RegionPtr /*universe*/,
43205b261ecSmrg    RegionPtr /*bounding*/,
43305b261ecSmrg    BoxPtr /*rect*/,
43405b261ecSmrg    int /*x*/,
43505b261ecSmrg    int /*y*/
43605b261ecSmrg);
43705b261ecSmrg
43805b261ecSmrgtypedef void
43905b261ecSmrg(*SetRedirectBorderClipProcPtr) (WindowPtr pWindow, RegionPtr pRegion);
44005b261ecSmrg
44105b261ecSmrgtypedef RegionPtr
44205b261ecSmrg(*GetRedirectBorderClipProcPtr) (WindowPtr pWindow);
44305b261ecSmrg
44405b261ecSmrgvoid
44505b261ecSmrgmiRegisterRedirectBorderClipProc (SetRedirectBorderClipProcPtr setBorderClip,
44605b261ecSmrg				  GetRedirectBorderClipProcPtr getBorderClip);
44705b261ecSmrg
44805b261ecSmrgextern int miValidateTree(
44905b261ecSmrg    WindowPtr /*pParent*/,
45005b261ecSmrg    WindowPtr /*pChild*/,
45105b261ecSmrg    VTKind /*kind*/
45205b261ecSmrg);
45305b261ecSmrg
45405b261ecSmrgextern void miWideLine(
45505b261ecSmrg    DrawablePtr /*pDrawable*/,
45605b261ecSmrg    GCPtr /*pGC*/,
45705b261ecSmrg    int /*mode*/,
45805b261ecSmrg    int /*npt*/,
45905b261ecSmrg    DDXPointPtr /*pPts*/
46005b261ecSmrg);
46105b261ecSmrg
46205b261ecSmrgextern void miWideDash(
46305b261ecSmrg    DrawablePtr /*pDrawable*/,
46405b261ecSmrg    GCPtr /*pGC*/,
46505b261ecSmrg    int /*mode*/,
46605b261ecSmrg    int /*npt*/,
46705b261ecSmrg    DDXPointPtr /*pPts*/
46805b261ecSmrg);
46905b261ecSmrg
47005b261ecSmrg/* miwindow.c */
47105b261ecSmrg
47205b261ecSmrgextern void miClearToBackground(
47305b261ecSmrg    WindowPtr /*pWin*/,
47405b261ecSmrg    int /*x*/,
47505b261ecSmrg    int /*y*/,
47605b261ecSmrg    int /*w*/,
47705b261ecSmrg    int /*h*/,
47805b261ecSmrg    Bool /*generateExposures*/
47905b261ecSmrg);
48005b261ecSmrg
48105b261ecSmrgextern Bool miChangeSaveUnder(
48205b261ecSmrg    WindowPtr /*pWin*/,
48305b261ecSmrg    WindowPtr /*first*/
48405b261ecSmrg);
48505b261ecSmrg
48605b261ecSmrgextern void miPostChangeSaveUnder(
48705b261ecSmrg    WindowPtr /*pWin*/,
48805b261ecSmrg    WindowPtr /*pFirst*/
48905b261ecSmrg);
49005b261ecSmrg
49105b261ecSmrgextern void miMarkWindow(
49205b261ecSmrg    WindowPtr /*pWin*/
49305b261ecSmrg);
49405b261ecSmrg
49505b261ecSmrgextern Bool miMarkOverlappedWindows(
49605b261ecSmrg    WindowPtr /*pWin*/,
49705b261ecSmrg    WindowPtr /*pFirst*/,
49805b261ecSmrg    WindowPtr * /*ppLayerWin*/
49905b261ecSmrg);
50005b261ecSmrg
50105b261ecSmrgextern void miHandleValidateExposures(
50205b261ecSmrg    WindowPtr /*pWin*/
50305b261ecSmrg);
50405b261ecSmrg
50505b261ecSmrgextern void miMoveWindow(
50605b261ecSmrg    WindowPtr /*pWin*/,
50705b261ecSmrg    int /*x*/,
50805b261ecSmrg    int /*y*/,
50905b261ecSmrg    WindowPtr /*pNextSib*/,
51005b261ecSmrg    VTKind /*kind*/
51105b261ecSmrg);
51205b261ecSmrg
51305b261ecSmrgextern void miSlideAndSizeWindow(
51405b261ecSmrg    WindowPtr /*pWin*/,
51505b261ecSmrg    int /*x*/,
51605b261ecSmrg    int /*y*/,
51705b261ecSmrg    unsigned int /*w*/,
51805b261ecSmrg    unsigned int /*h*/,
51905b261ecSmrg    WindowPtr /*pSib*/
52005b261ecSmrg);
52105b261ecSmrg
52205b261ecSmrgextern WindowPtr miGetLayerWindow(
52305b261ecSmrg    WindowPtr /*pWin*/
52405b261ecSmrg);
52505b261ecSmrg
52605b261ecSmrgextern void miSetShape(
52705b261ecSmrg    WindowPtr /*pWin*/
52805b261ecSmrg);
52905b261ecSmrg
53005b261ecSmrgextern void miChangeBorderWidth(
53105b261ecSmrg    WindowPtr /*pWin*/,
53205b261ecSmrg    unsigned int /*width*/
53305b261ecSmrg);
53405b261ecSmrg
53505b261ecSmrgextern void miMarkUnrealizedWindow(
53605b261ecSmrg    WindowPtr /*pChild*/,
53705b261ecSmrg    WindowPtr /*pWin*/,
53805b261ecSmrg    Bool /*fromConfigure*/
53905b261ecSmrg);
54005b261ecSmrg
54105b261ecSmrgextern void miSegregateChildren(WindowPtr pWin, RegionPtr pReg, int depth);
54205b261ecSmrg
54305b261ecSmrg/* mizerarc.c */
54405b261ecSmrg
54505b261ecSmrgextern void miZeroPolyArc(
54605b261ecSmrg    DrawablePtr /*pDraw*/,
54705b261ecSmrg    GCPtr /*pGC*/,
54805b261ecSmrg    int /*narcs*/,
54905b261ecSmrg    xArc * /*parcs*/
55005b261ecSmrg);
55105b261ecSmrg
55205b261ecSmrg/* mizerline.c */
55305b261ecSmrg
55405b261ecSmrgextern void miZeroLine(
55505b261ecSmrg    DrawablePtr /*dst*/,
55605b261ecSmrg    GCPtr /*pgc*/,
55705b261ecSmrg    int /*mode*/,
55805b261ecSmrg    int /*nptInit*/,
55905b261ecSmrg    DDXPointRec * /*pptInit*/
56005b261ecSmrg);
56105b261ecSmrg
56205b261ecSmrgextern void miZeroDashLine(
56305b261ecSmrg    DrawablePtr /*dst*/,
56405b261ecSmrg    GCPtr /*pgc*/,
56505b261ecSmrg    int /*mode*/,
56605b261ecSmrg    int /*nptInit*/,
56705b261ecSmrg    DDXPointRec * /*pptInit*/
56805b261ecSmrg);
56905b261ecSmrg
57005b261ecSmrgextern void miPolyFillArc(
57105b261ecSmrg    DrawablePtr /*pDraw*/,
57205b261ecSmrg    GCPtr /*pGC*/,
57305b261ecSmrg    int /*narcs*/,
57405b261ecSmrg    xArc * /*parcs*/
57505b261ecSmrg);
57605b261ecSmrg
57705b261ecSmrg#endif /* MI_H */
578