mi.h revision 4642e01f
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"
584642e01fSmrg#include "privates.h"
5905b261ecSmrg
6005b261ecSmrg#define MiBits	CARD32
6105b261ecSmrg
6205b261ecSmrgtypedef struct _miDash *miDashPtr;
6305b261ecSmrg#define EVEN_DASH	0
6405b261ecSmrg#define ODD_DASH	~0
6505b261ecSmrg
6605b261ecSmrg/* miarc.c */
6705b261ecSmrg
6805b261ecSmrgextern void miPolyArc(
6905b261ecSmrg    DrawablePtr /*pDraw*/,
7005b261ecSmrg    GCPtr /*pGC*/,
7105b261ecSmrg    int /*narcs*/,
7205b261ecSmrg    xArc * /*parcs*/
7305b261ecSmrg);
7405b261ecSmrg
7505b261ecSmrg/* mibitblt.c */
7605b261ecSmrg
7705b261ecSmrgextern RegionPtr miCopyArea(
7805b261ecSmrg    DrawablePtr /*pSrcDrawable*/,
7905b261ecSmrg    DrawablePtr /*pDstDrawable*/,
8005b261ecSmrg    GCPtr /*pGC*/,
8105b261ecSmrg    int /*xIn*/,
8205b261ecSmrg    int /*yIn*/,
8305b261ecSmrg    int /*widthSrc*/,
8405b261ecSmrg    int /*heightSrc*/,
8505b261ecSmrg    int /*xOut*/,
8605b261ecSmrg    int /*yOut*/
8705b261ecSmrg);
8805b261ecSmrg
8905b261ecSmrgextern RegionPtr miCopyPlane(
9005b261ecSmrg    DrawablePtr /*pSrcDrawable*/,
9105b261ecSmrg    DrawablePtr /*pDstDrawable*/,
9205b261ecSmrg    GCPtr /*pGC*/,
9305b261ecSmrg    int /*srcx*/,
9405b261ecSmrg    int /*srcy*/,
9505b261ecSmrg    int /*width*/,
9605b261ecSmrg    int /*height*/,
9705b261ecSmrg    int /*dstx*/,
9805b261ecSmrg    int /*dsty*/,
9905b261ecSmrg    unsigned long /*bitPlane*/
10005b261ecSmrg);
10105b261ecSmrg
10205b261ecSmrgextern void miGetImage(
10305b261ecSmrg    DrawablePtr /*pDraw*/,
10405b261ecSmrg    int /*sx*/,
10505b261ecSmrg    int /*sy*/,
10605b261ecSmrg    int /*w*/,
10705b261ecSmrg    int /*h*/,
10805b261ecSmrg    unsigned int /*format*/,
10905b261ecSmrg    unsigned long /*planeMask*/,
11005b261ecSmrg    char * /*pdstLine*/
11105b261ecSmrg);
11205b261ecSmrg
11305b261ecSmrgextern void miPutImage(
11405b261ecSmrg    DrawablePtr /*pDraw*/,
11505b261ecSmrg    GCPtr /*pGC*/,
11605b261ecSmrg    int /*depth*/,
11705b261ecSmrg    int /*x*/,
11805b261ecSmrg    int /*y*/,
11905b261ecSmrg    int /*w*/,
12005b261ecSmrg    int /*h*/,
12105b261ecSmrg    int /*leftPad*/,
12205b261ecSmrg    int /*format*/,
12305b261ecSmrg    char * /*pImage*/
12405b261ecSmrg);
12505b261ecSmrg
12605b261ecSmrg/* micursor.c */
12705b261ecSmrg
12805b261ecSmrgextern void miRecolorCursor(
1294642e01fSmrg    DeviceIntPtr /* pDev */,
13005b261ecSmrg    ScreenPtr /*pScr*/,
13105b261ecSmrg    CursorPtr /*pCurs*/,
13205b261ecSmrg    Bool /*displayed*/
13305b261ecSmrg);
13405b261ecSmrg
13505b261ecSmrg/* midash.c */
13605b261ecSmrg
13705b261ecSmrgextern void miStepDash(
13805b261ecSmrg    int /*dist*/,
13905b261ecSmrg    int * /*pDashIndex*/,
14005b261ecSmrg    unsigned char * /*pDash*/,
14105b261ecSmrg    int /*numInDashList*/,
14205b261ecSmrg    int * /*pDashOffset*/
14305b261ecSmrg);
14405b261ecSmrg
14505b261ecSmrg/* mieq.c */
14605b261ecSmrg
14705b261ecSmrg
14805b261ecSmrg#ifndef INPUT_H
14905b261ecSmrgtypedef struct _DeviceRec *DevicePtr;
15005b261ecSmrg#endif
15105b261ecSmrg
15205b261ecSmrgextern Bool mieqInit(
15305b261ecSmrg    void
15405b261ecSmrg);
15505b261ecSmrg
1564642e01fSmrgextern void mieqResizeEvents(
1574642e01fSmrg    int /* min_size */
1584642e01fSmrg);
1594642e01fSmrg
16005b261ecSmrgextern void mieqEnqueue(
16105b261ecSmrg    DeviceIntPtr /*pDev*/,
16205b261ecSmrg    xEventPtr /*e*/
16305b261ecSmrg);
16405b261ecSmrg
16505b261ecSmrgextern void mieqSwitchScreen(
1664642e01fSmrg    DeviceIntPtr /* pDev */,
16705b261ecSmrg    ScreenPtr /*pScreen*/,
16805b261ecSmrg    Bool /*fromDIX*/
16905b261ecSmrg);
17005b261ecSmrg
17105b261ecSmrgextern void mieqProcessInputEvents(
17205b261ecSmrg    void
17305b261ecSmrg);
17405b261ecSmrg
17505b261ecSmrgtypedef void (*mieqHandler)(int, xEventPtr, DeviceIntPtr, int);
17605b261ecSmrgvoid mieqSetHandler(int event, mieqHandler handler);
17705b261ecSmrg
1784642e01fSmrgvoid
1794642e01fSmrgCopyGetMasterEvent(DeviceIntPtr mdev, DeviceIntPtr sdev, xEvent* original,
1804642e01fSmrg                   EventListPtr master, int count);
1814642e01fSmrg
18205b261ecSmrg/* miexpose.c */
18305b261ecSmrg
18405b261ecSmrgextern RegionPtr miHandleExposures(
18505b261ecSmrg    DrawablePtr /*pSrcDrawable*/,
18605b261ecSmrg    DrawablePtr /*pDstDrawable*/,
18705b261ecSmrg    GCPtr /*pGC*/,
18805b261ecSmrg    int /*srcx*/,
18905b261ecSmrg    int /*srcy*/,
19005b261ecSmrg    int /*width*/,
19105b261ecSmrg    int /*height*/,
19205b261ecSmrg    int /*dstx*/,
19305b261ecSmrg    int /*dsty*/,
19405b261ecSmrg    unsigned long /*plane*/
19505b261ecSmrg);
19605b261ecSmrg
19705b261ecSmrgextern void miSendGraphicsExpose(
19805b261ecSmrg    ClientPtr /*client*/,
19905b261ecSmrg    RegionPtr /*pRgn*/,
20005b261ecSmrg    XID /*drawable*/,
20105b261ecSmrg    int /*major*/,
20205b261ecSmrg    int /*minor*/
20305b261ecSmrg);
20405b261ecSmrg
20505b261ecSmrgextern void miSendExposures(
20605b261ecSmrg    WindowPtr /*pWin*/,
20705b261ecSmrg    RegionPtr /*pRgn*/,
20805b261ecSmrg    int /*dx*/,
20905b261ecSmrg    int /*dy*/
21005b261ecSmrg);
21105b261ecSmrg
21205b261ecSmrgextern void miWindowExposures(
21305b261ecSmrg    WindowPtr /*pWin*/,
21405b261ecSmrg    RegionPtr /*prgn*/,
21505b261ecSmrg    RegionPtr /*other_exposed*/
21605b261ecSmrg);
21705b261ecSmrg
21805b261ecSmrgextern void miPaintWindow(
21905b261ecSmrg    WindowPtr /*pWin*/,
22005b261ecSmrg    RegionPtr /*prgn*/,
22105b261ecSmrg    int /*what*/
22205b261ecSmrg);
22305b261ecSmrg
22405b261ecSmrgextern void miClearDrawable(
22505b261ecSmrg    DrawablePtr /*pDraw*/,
22605b261ecSmrg    GCPtr /*pGC*/
22705b261ecSmrg);
22805b261ecSmrg
22905b261ecSmrg/* mifillrct.c */
23005b261ecSmrg
23105b261ecSmrgextern void miPolyFillRect(
23205b261ecSmrg    DrawablePtr /*pDrawable*/,
23305b261ecSmrg    GCPtr /*pGC*/,
23405b261ecSmrg    int /*nrectFill*/,
23505b261ecSmrg    xRectangle * /*prectInit*/
23605b261ecSmrg);
23705b261ecSmrg
23805b261ecSmrg/* miglblt.c */
23905b261ecSmrg
24005b261ecSmrgextern void miPolyGlyphBlt(
24105b261ecSmrg    DrawablePtr /*pDrawable*/,
24205b261ecSmrg    GCPtr /*pGC*/,
24305b261ecSmrg    int /*x*/,
24405b261ecSmrg    int /*y*/,
24505b261ecSmrg    unsigned int /*nglyph*/,
24605b261ecSmrg    CharInfoPtr * /*ppci*/,
24705b261ecSmrg    pointer /*pglyphBase*/
24805b261ecSmrg);
24905b261ecSmrg
25005b261ecSmrgextern void miImageGlyphBlt(
25105b261ecSmrg    DrawablePtr /*pDrawable*/,
25205b261ecSmrg    GCPtr /*pGC*/,
25305b261ecSmrg    int /*x*/,
25405b261ecSmrg    int /*y*/,
25505b261ecSmrg    unsigned int /*nglyph*/,
25605b261ecSmrg    CharInfoPtr * /*ppci*/,
25705b261ecSmrg    pointer /*pglyphBase*/
25805b261ecSmrg);
25905b261ecSmrg
26005b261ecSmrg/* mipoly.c */
26105b261ecSmrg
26205b261ecSmrgextern void miFillPolygon(
26305b261ecSmrg    DrawablePtr /*dst*/,
26405b261ecSmrg    GCPtr /*pgc*/,
26505b261ecSmrg    int /*shape*/,
26605b261ecSmrg    int /*mode*/,
26705b261ecSmrg    int /*count*/,
26805b261ecSmrg    DDXPointPtr /*pPts*/
26905b261ecSmrg);
27005b261ecSmrg
27105b261ecSmrg/* mipolycon.c */
27205b261ecSmrg
27305b261ecSmrgextern Bool miFillConvexPoly(
27405b261ecSmrg    DrawablePtr /*dst*/,
27505b261ecSmrg    GCPtr /*pgc*/,
27605b261ecSmrg    int /*count*/,
27705b261ecSmrg    DDXPointPtr /*ptsIn*/
27805b261ecSmrg);
27905b261ecSmrg
28005b261ecSmrg/* mipolygen.c */
28105b261ecSmrg
28205b261ecSmrgextern Bool miFillGeneralPoly(
28305b261ecSmrg    DrawablePtr /*dst*/,
28405b261ecSmrg    GCPtr /*pgc*/,
28505b261ecSmrg    int /*count*/,
28605b261ecSmrg    DDXPointPtr /*ptsIn*/
28705b261ecSmrg);
28805b261ecSmrg
28905b261ecSmrg/* mipolypnt.c */
29005b261ecSmrg
29105b261ecSmrgextern void miPolyPoint(
29205b261ecSmrg    DrawablePtr /*pDrawable*/,
29305b261ecSmrg    GCPtr /*pGC*/,
29405b261ecSmrg    int /*mode*/,
29505b261ecSmrg    int /*npt*/,
29605b261ecSmrg    xPoint * /*pptInit*/
29705b261ecSmrg);
29805b261ecSmrg
29905b261ecSmrg/* mipolyrect.c */
30005b261ecSmrg
30105b261ecSmrgextern void miPolyRectangle(
30205b261ecSmrg    DrawablePtr /*pDraw*/,
30305b261ecSmrg    GCPtr /*pGC*/,
30405b261ecSmrg    int /*nrects*/,
30505b261ecSmrg    xRectangle * /*pRects*/
30605b261ecSmrg);
30705b261ecSmrg
30805b261ecSmrg/* mipolyseg.c */
30905b261ecSmrg
31005b261ecSmrgextern void miPolySegment(
31105b261ecSmrg    DrawablePtr /*pDraw*/,
31205b261ecSmrg    GCPtr /*pGC*/,
31305b261ecSmrg    int /*nseg*/,
31405b261ecSmrg    xSegment * /*pSegs*/
31505b261ecSmrg);
31605b261ecSmrg
31705b261ecSmrg/* mipolytext.c */
31805b261ecSmrg
31905b261ecSmrgextern int miPolyText8(
32005b261ecSmrg    DrawablePtr /*pDraw*/,
32105b261ecSmrg    GCPtr /*pGC*/,
32205b261ecSmrg    int /*x*/,
32305b261ecSmrg    int /*y*/,
32405b261ecSmrg    int /*count*/,
32505b261ecSmrg    char * /*chars*/
32605b261ecSmrg);
32705b261ecSmrg
32805b261ecSmrgextern int miPolyText16(
32905b261ecSmrg    DrawablePtr /*pDraw*/,
33005b261ecSmrg    GCPtr /*pGC*/,
33105b261ecSmrg    int /*x*/,
33205b261ecSmrg    int /*y*/,
33305b261ecSmrg    int /*count*/,
33405b261ecSmrg    unsigned short * /*chars*/
33505b261ecSmrg);
33605b261ecSmrg
33705b261ecSmrgextern void miImageText8(
33805b261ecSmrg    DrawablePtr /*pDraw*/,
33905b261ecSmrg    GCPtr /*pGC*/,
34005b261ecSmrg    int /*x*/,
34105b261ecSmrg    int /*y*/,
34205b261ecSmrg    int /*count*/,
34305b261ecSmrg    char * /*chars*/
34405b261ecSmrg);
34505b261ecSmrg
34605b261ecSmrgextern void miImageText16(
34705b261ecSmrg    DrawablePtr /*pDraw*/,
34805b261ecSmrg    GCPtr /*pGC*/,
34905b261ecSmrg    int /*x*/,
35005b261ecSmrg    int /*y*/,
35105b261ecSmrg    int /*count*/,
35205b261ecSmrg    unsigned short * /*chars*/
35305b261ecSmrg);
35405b261ecSmrg
35505b261ecSmrg/* mipushpxl.c */
35605b261ecSmrg
35705b261ecSmrgextern void miPushPixels(
35805b261ecSmrg    GCPtr /*pGC*/,
35905b261ecSmrg    PixmapPtr /*pBitMap*/,
36005b261ecSmrg    DrawablePtr /*pDrawable*/,
36105b261ecSmrg    int /*dx*/,
36205b261ecSmrg    int /*dy*/,
36305b261ecSmrg    int /*xOrg*/,
36405b261ecSmrg    int /*yOrg*/
36505b261ecSmrg);
36605b261ecSmrg
36705b261ecSmrg/* miregion.c */
36805b261ecSmrg
36905b261ecSmrg/* see also region.h */
37005b261ecSmrg
37105b261ecSmrgextern Bool miRectAlloc(
37205b261ecSmrg    RegionPtr /*pRgn*/,
37305b261ecSmrg    int /*n*/
37405b261ecSmrg);
37505b261ecSmrg
37605b261ecSmrg#ifdef DEBUG
37705b261ecSmrgextern Bool miValidRegion(
37805b261ecSmrg    RegionPtr /*prgn*/
37905b261ecSmrg);
38005b261ecSmrg#endif
38105b261ecSmrg
38205b261ecSmrgextern Bool miRegionBroken(RegionPtr pReg);
38305b261ecSmrg
38405b261ecSmrg/* miscrinit.c */
38505b261ecSmrg
38605b261ecSmrgextern Bool miModifyPixmapHeader(
38705b261ecSmrg    PixmapPtr /*pPixmap*/,
38805b261ecSmrg    int /*width*/,
38905b261ecSmrg    int /*height*/,
39005b261ecSmrg    int /*depth*/,
39105b261ecSmrg    int /*bitsPerPixel*/,
39205b261ecSmrg    int /*devKind*/,
39305b261ecSmrg    pointer /*pPixData*/
39405b261ecSmrg);
39505b261ecSmrg
39605b261ecSmrgextern Bool miCreateScreenResources(
39705b261ecSmrg    ScreenPtr /*pScreen*/
39805b261ecSmrg);
39905b261ecSmrg
40005b261ecSmrgextern Bool miScreenDevPrivateInit(
40105b261ecSmrg    ScreenPtr /*pScreen*/,
40205b261ecSmrg    int /*width*/,
40305b261ecSmrg    pointer /*pbits*/
40405b261ecSmrg);
40505b261ecSmrg
40605b261ecSmrgextern Bool miScreenInit(
40705b261ecSmrg    ScreenPtr /*pScreen*/,
40805b261ecSmrg    pointer /*pbits*/,
40905b261ecSmrg    int /*xsize*/,
41005b261ecSmrg    int /*ysize*/,
41105b261ecSmrg    int /*dpix*/,
41205b261ecSmrg    int /*dpiy*/,
41305b261ecSmrg    int /*width*/,
41405b261ecSmrg    int /*rootDepth*/,
41505b261ecSmrg    int /*numDepths*/,
41605b261ecSmrg    DepthPtr /*depths*/,
41705b261ecSmrg    VisualID /*rootVisual*/,
41805b261ecSmrg    int /*numVisuals*/,
41905b261ecSmrg    VisualPtr /*visuals*/
42005b261ecSmrg);
42105b261ecSmrg
4224642e01fSmrgextern DevPrivateKey miAllocateGCPrivateIndex(
42305b261ecSmrg    void
42405b261ecSmrg);
42505b261ecSmrg
42605b261ecSmrg/* mivaltree.c */
42705b261ecSmrg
42805b261ecSmrgextern int miShapedWindowIn(
42905b261ecSmrg    ScreenPtr /*pScreen*/,
43005b261ecSmrg    RegionPtr /*universe*/,
43105b261ecSmrg    RegionPtr /*bounding*/,
43205b261ecSmrg    BoxPtr /*rect*/,
43305b261ecSmrg    int /*x*/,
43405b261ecSmrg    int /*y*/
43505b261ecSmrg);
43605b261ecSmrg
43705b261ecSmrgtypedef void
43805b261ecSmrg(*SetRedirectBorderClipProcPtr) (WindowPtr pWindow, RegionPtr pRegion);
43905b261ecSmrg
44005b261ecSmrgtypedef RegionPtr
44105b261ecSmrg(*GetRedirectBorderClipProcPtr) (WindowPtr pWindow);
44205b261ecSmrg
44305b261ecSmrgvoid
44405b261ecSmrgmiRegisterRedirectBorderClipProc (SetRedirectBorderClipProcPtr setBorderClip,
44505b261ecSmrg				  GetRedirectBorderClipProcPtr getBorderClip);
44605b261ecSmrg
44705b261ecSmrgextern int miValidateTree(
44805b261ecSmrg    WindowPtr /*pParent*/,
44905b261ecSmrg    WindowPtr /*pChild*/,
45005b261ecSmrg    VTKind /*kind*/
45105b261ecSmrg);
45205b261ecSmrg
45305b261ecSmrgextern void miWideLine(
45405b261ecSmrg    DrawablePtr /*pDrawable*/,
45505b261ecSmrg    GCPtr /*pGC*/,
45605b261ecSmrg    int /*mode*/,
45705b261ecSmrg    int /*npt*/,
45805b261ecSmrg    DDXPointPtr /*pPts*/
45905b261ecSmrg);
46005b261ecSmrg
46105b261ecSmrgextern void miWideDash(
46205b261ecSmrg    DrawablePtr /*pDrawable*/,
46305b261ecSmrg    GCPtr /*pGC*/,
46405b261ecSmrg    int /*mode*/,
46505b261ecSmrg    int /*npt*/,
46605b261ecSmrg    DDXPointPtr /*pPts*/
46705b261ecSmrg);
46805b261ecSmrg
46905b261ecSmrg/* miwindow.c */
47005b261ecSmrg
47105b261ecSmrgextern void miClearToBackground(
47205b261ecSmrg    WindowPtr /*pWin*/,
47305b261ecSmrg    int /*x*/,
47405b261ecSmrg    int /*y*/,
47505b261ecSmrg    int /*w*/,
47605b261ecSmrg    int /*h*/,
47705b261ecSmrg    Bool /*generateExposures*/
47805b261ecSmrg);
47905b261ecSmrg
48005b261ecSmrgextern void miMarkWindow(
48105b261ecSmrg    WindowPtr /*pWin*/
48205b261ecSmrg);
48305b261ecSmrg
48405b261ecSmrgextern Bool miMarkOverlappedWindows(
48505b261ecSmrg    WindowPtr /*pWin*/,
48605b261ecSmrg    WindowPtr /*pFirst*/,
48705b261ecSmrg    WindowPtr * /*ppLayerWin*/
48805b261ecSmrg);
48905b261ecSmrg
49005b261ecSmrgextern void miHandleValidateExposures(
49105b261ecSmrg    WindowPtr /*pWin*/
49205b261ecSmrg);
49305b261ecSmrg
49405b261ecSmrgextern void miMoveWindow(
49505b261ecSmrg    WindowPtr /*pWin*/,
49605b261ecSmrg    int /*x*/,
49705b261ecSmrg    int /*y*/,
49805b261ecSmrg    WindowPtr /*pNextSib*/,
49905b261ecSmrg    VTKind /*kind*/
50005b261ecSmrg);
50105b261ecSmrg
50205b261ecSmrgextern void miSlideAndSizeWindow(
50305b261ecSmrg    WindowPtr /*pWin*/,
50405b261ecSmrg    int /*x*/,
50505b261ecSmrg    int /*y*/,
50605b261ecSmrg    unsigned int /*w*/,
50705b261ecSmrg    unsigned int /*h*/,
50805b261ecSmrg    WindowPtr /*pSib*/
50905b261ecSmrg);
51005b261ecSmrg
51105b261ecSmrgextern WindowPtr miGetLayerWindow(
51205b261ecSmrg    WindowPtr /*pWin*/
51305b261ecSmrg);
51405b261ecSmrg
51505b261ecSmrgextern void miSetShape(
51605b261ecSmrg    WindowPtr /*pWin*/
51705b261ecSmrg);
51805b261ecSmrg
51905b261ecSmrgextern void miChangeBorderWidth(
52005b261ecSmrg    WindowPtr /*pWin*/,
52105b261ecSmrg    unsigned int /*width*/
52205b261ecSmrg);
52305b261ecSmrg
52405b261ecSmrgextern void miMarkUnrealizedWindow(
52505b261ecSmrg    WindowPtr /*pChild*/,
52605b261ecSmrg    WindowPtr /*pWin*/,
52705b261ecSmrg    Bool /*fromConfigure*/
52805b261ecSmrg);
52905b261ecSmrg
53005b261ecSmrgextern void miSegregateChildren(WindowPtr pWin, RegionPtr pReg, int depth);
53105b261ecSmrg
53205b261ecSmrg/* mizerarc.c */
53305b261ecSmrg
53405b261ecSmrgextern void miZeroPolyArc(
53505b261ecSmrg    DrawablePtr /*pDraw*/,
53605b261ecSmrg    GCPtr /*pGC*/,
53705b261ecSmrg    int /*narcs*/,
53805b261ecSmrg    xArc * /*parcs*/
53905b261ecSmrg);
54005b261ecSmrg
54105b261ecSmrg/* mizerline.c */
54205b261ecSmrg
54305b261ecSmrgextern void miZeroLine(
54405b261ecSmrg    DrawablePtr /*dst*/,
54505b261ecSmrg    GCPtr /*pgc*/,
54605b261ecSmrg    int /*mode*/,
54705b261ecSmrg    int /*nptInit*/,
54805b261ecSmrg    DDXPointRec * /*pptInit*/
54905b261ecSmrg);
55005b261ecSmrg
55105b261ecSmrgextern void miZeroDashLine(
55205b261ecSmrg    DrawablePtr /*dst*/,
55305b261ecSmrg    GCPtr /*pgc*/,
55405b261ecSmrg    int /*mode*/,
55505b261ecSmrg    int /*nptInit*/,
55605b261ecSmrg    DDXPointRec * /*pptInit*/
55705b261ecSmrg);
55805b261ecSmrg
55905b261ecSmrgextern void miPolyFillArc(
56005b261ecSmrg    DrawablePtr /*pDraw*/,
56105b261ecSmrg    GCPtr /*pGC*/,
56205b261ecSmrg    int /*narcs*/,
56305b261ecSmrg    xArc * /*parcs*/
56405b261ecSmrg);
56505b261ecSmrg
56605b261ecSmrg#endif /* MI_H */
567