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
2505b261ecSmrgCopyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
2605b261ecSmrg
2705b261ecSmrg                        All Rights Reserved
2805b261ecSmrg
2935c4bbdfSmrgPermission to use, copy, modify, and distribute this software and its
3035c4bbdfSmrgdocumentation for any purpose and without fee is hereby granted,
3105b261ecSmrgprovided that the above copyright notice appear in all copies and that
3235c4bbdfSmrgboth that copyright notice and this permission notice appear in
3305b261ecSmrgsupporting documentation, and that the name of Digital not be
3405b261ecSmrgused in advertising or publicity pertaining to distribution of the
3535c4bbdfSmrgsoftware without specific, written prior permission.
3605b261ecSmrg
3705b261ecSmrgDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
3805b261ecSmrgALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
3905b261ecSmrgDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
4005b261ecSmrgANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
4105b261ecSmrgWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
4205b261ecSmrgARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
4305b261ecSmrgSOFTWARE.
4405b261ecSmrg
4505b261ecSmrg******************************************************************/
4605b261ecSmrg
4705b261ecSmrg#ifndef MI_H
4805b261ecSmrg#define MI_H
4905b261ecSmrg#include <X11/X.h>
5005b261ecSmrg#include "region.h"
5105b261ecSmrg#include "validate.h"
5205b261ecSmrg#include "window.h"
5305b261ecSmrg#include "gc.h"
5405b261ecSmrg#include <X11/fonts/font.h>
5505b261ecSmrg#include "input.h"
5605b261ecSmrg#include "cursor.h"
574642e01fSmrg#include "privates.h"
586747b715Smrg#include "colormap.h"
596747b715Smrg#include "events.h"
6005b261ecSmrg
6105b261ecSmrg#define MiBits	CARD32
6205b261ecSmrg
6305b261ecSmrgtypedef struct _miDash *miDashPtr;
6435c4bbdfSmrg
6505b261ecSmrg#define EVEN_DASH	0
6605b261ecSmrg#define ODD_DASH	~0
6705b261ecSmrg
6805b261ecSmrg/* miarc.c */
6905b261ecSmrg
7035c4bbdfSmrgextern _X_EXPORT void miWideArc(DrawablePtr pDraw,
7135c4bbdfSmrg                                GCPtr pGC,
7235c4bbdfSmrg                                int narcs,
7335c4bbdfSmrg                                xArc * parcs);
7435c4bbdfSmrg
7535c4bbdfSmrgextern _X_EXPORT void miPolyArc(DrawablePtr /*pDraw */ ,
7635c4bbdfSmrg                                GCPtr /*pGC */ ,
7735c4bbdfSmrg                                int /*narcs */ ,
7835c4bbdfSmrg                                xArc *  /*parcs */
7935c4bbdfSmrg    );
8005b261ecSmrg
8105b261ecSmrg/* mibitblt.c */
8205b261ecSmrg
8335c4bbdfSmrgextern _X_EXPORT RegionPtr miCopyArea(DrawablePtr /*pSrcDrawable */ ,
8435c4bbdfSmrg                                      DrawablePtr /*pDstDrawable */ ,
8535c4bbdfSmrg                                      GCPtr /*pGC */ ,
8635c4bbdfSmrg                                      int /*xIn */ ,
8735c4bbdfSmrg                                      int /*yIn */ ,
8835c4bbdfSmrg                                      int /*widthSrc */ ,
8935c4bbdfSmrg                                      int /*heightSrc */ ,
9035c4bbdfSmrg                                      int /*xOut */ ,
9135c4bbdfSmrg                                      int       /*yOut */
9235c4bbdfSmrg    );
9335c4bbdfSmrg
9435c4bbdfSmrgextern _X_EXPORT RegionPtr miCopyPlane(DrawablePtr /*pSrcDrawable */ ,
9535c4bbdfSmrg                                       DrawablePtr /*pDstDrawable */ ,
9635c4bbdfSmrg                                       GCPtr /*pGC */ ,
9735c4bbdfSmrg                                       int /*srcx */ ,
9835c4bbdfSmrg                                       int /*srcy */ ,
9935c4bbdfSmrg                                       int /*width */ ,
10035c4bbdfSmrg                                       int /*height */ ,
10135c4bbdfSmrg                                       int /*dstx */ ,
10235c4bbdfSmrg                                       int /*dsty */ ,
10335c4bbdfSmrg                                       unsigned long    /*bitPlane */
10435c4bbdfSmrg    );
10535c4bbdfSmrg
10635c4bbdfSmrgextern _X_EXPORT void miGetImage(DrawablePtr /*pDraw */ ,
10735c4bbdfSmrg                                 int /*sx */ ,
10835c4bbdfSmrg                                 int /*sy */ ,
10935c4bbdfSmrg                                 int /*w */ ,
11035c4bbdfSmrg                                 int /*h */ ,
11135c4bbdfSmrg                                 unsigned int /*format */ ,
11235c4bbdfSmrg                                 unsigned long /*planeMask */ ,
11335c4bbdfSmrg                                 char * /*pdstLine */
11435c4bbdfSmrg    );
11535c4bbdfSmrg
11635c4bbdfSmrgextern _X_EXPORT void miPutImage(DrawablePtr /*pDraw */ ,
11735c4bbdfSmrg                                 GCPtr /*pGC */ ,
11835c4bbdfSmrg                                 int /*depth */ ,
11935c4bbdfSmrg                                 int /*x */ ,
12035c4bbdfSmrg                                 int /*y */ ,
12135c4bbdfSmrg                                 int /*w */ ,
12235c4bbdfSmrg                                 int /*h */ ,
12335c4bbdfSmrg                                 int /*leftPad */ ,
12435c4bbdfSmrg                                 int /*format */ ,
12535c4bbdfSmrg                                 char * /*pImage */
12635c4bbdfSmrg    );
12705b261ecSmrg
1286747b715Smrg/* micopy.c  */
1296747b715Smrg
1306747b715Smrg#define miGetCompositeClip(pGC) ((pGC)->pCompositeClip)
1316747b715Smrg
13235c4bbdfSmrgtypedef void (*miCopyProc) (DrawablePtr pSrcDrawable,
13335c4bbdfSmrg                            DrawablePtr pDstDrawable,
13435c4bbdfSmrg                            GCPtr pGC,
13535c4bbdfSmrg                            BoxPtr pDstBox,
13635c4bbdfSmrg                            int nbox,
13735c4bbdfSmrg                            int dx,
13835c4bbdfSmrg                            int dy,
13935c4bbdfSmrg                            Bool reverse,
14035c4bbdfSmrg                            Bool upsidedown, Pixel bitplane, void *closure);
1416747b715Smrg
1426747b715Smrgextern _X_EXPORT void
14335c4bbdfSmrg
14435c4bbdfSmrgmiCopyRegion(DrawablePtr pSrcDrawable,
14535c4bbdfSmrg             DrawablePtr pDstDrawable,
14635c4bbdfSmrg             GCPtr pGC,
14735c4bbdfSmrg             RegionPtr pDstRegion,
14835c4bbdfSmrg             int dx,
14935c4bbdfSmrg             int dy, miCopyProc copyProc, Pixel bitPlane, void *closure);
1506747b715Smrg
1516747b715Smrgextern _X_EXPORT RegionPtr
15235c4bbdfSmrg
15335c4bbdfSmrgmiDoCopy(DrawablePtr pSrcDrawable,
15435c4bbdfSmrg         DrawablePtr pDstDrawable,
15535c4bbdfSmrg         GCPtr pGC,
15635c4bbdfSmrg         int xIn,
15735c4bbdfSmrg         int yIn,
15835c4bbdfSmrg         int widthSrc,
15935c4bbdfSmrg         int heightSrc,
16035c4bbdfSmrg         int xOut,
16135c4bbdfSmrg         int yOut, miCopyProc copyProc, Pixel bitplane, void *closure);
1626747b715Smrg
16305b261ecSmrg/* micursor.c */
16405b261ecSmrg
16535c4bbdfSmrgextern _X_EXPORT void miRecolorCursor(DeviceIntPtr /* pDev */ ,
16635c4bbdfSmrg                                      ScreenPtr /*pScr */ ,
16735c4bbdfSmrg                                      CursorPtr /*pCurs */ ,
16835c4bbdfSmrg                                      Bool      /*displayed */
16935c4bbdfSmrg    );
17005b261ecSmrg
17105b261ecSmrg/* midash.c */
17205b261ecSmrg
17335c4bbdfSmrgextern _X_EXPORT void miStepDash(int /*dist */ ,
17435c4bbdfSmrg                                 int * /*pDashIndex */ ,
17535c4bbdfSmrg                                 unsigned char * /*pDash */ ,
17635c4bbdfSmrg                                 int /*numInDashList */ ,
17735c4bbdfSmrg                                 int *  /*pDashOffset */
17835c4bbdfSmrg    );
17905b261ecSmrg
18005b261ecSmrg/* mieq.c */
18105b261ecSmrg
18205b261ecSmrg#ifndef INPUT_H
18305b261ecSmrgtypedef struct _DeviceRec *DevicePtr;
18405b261ecSmrg#endif
18505b261ecSmrg
18635c4bbdfSmrgextern _X_EXPORT Bool mieqInit(void
18735c4bbdfSmrg    );
18805b261ecSmrg
1896747b715Smrgextern _X_EXPORT void mieqFini(void);
1904642e01fSmrg
19135c4bbdfSmrgextern _X_EXPORT void mieqEnqueue(DeviceIntPtr /*pDev */ ,
19235c4bbdfSmrg                                  InternalEvent *       /*e */
19335c4bbdfSmrg    );
19435c4bbdfSmrg
19535c4bbdfSmrgextern _X_EXPORT void mieqSwitchScreen(DeviceIntPtr /* pDev */ ,
19635c4bbdfSmrg                                       ScreenPtr /*pScreen */ ,
19735c4bbdfSmrg                                       Bool     /*set_dequeue_screen */
19835c4bbdfSmrg    );
19935c4bbdfSmrg
20035c4bbdfSmrgextern _X_EXPORT void mieqProcessDeviceEvent(DeviceIntPtr /* dev */ ,
20135c4bbdfSmrg                                             InternalEvent * /* event */ ,
20235c4bbdfSmrg                                             ScreenPtr  /* screen */
20335c4bbdfSmrg    );
20435c4bbdfSmrg
20535c4bbdfSmrgextern _X_EXPORT void mieqProcessInputEvents(void
20635c4bbdfSmrg    );
20735c4bbdfSmrg
208ed6184dfSmrgextern _X_EXPORT void mieqAddCallbackOnDrained(CallbackProcPtr callback,
209ed6184dfSmrg                                               void *param);
210ed6184dfSmrg
211ed6184dfSmrgextern _X_EXPORT void mieqRemoveCallbackOnDrained(CallbackProcPtr callback,
212ed6184dfSmrg                                                  void *param);
213ed6184dfSmrg
21435c4bbdfSmrgextern DeviceIntPtr CopyGetMasterEvent(DeviceIntPtr /* sdev */ ,
21535c4bbdfSmrg                                       InternalEvent * /* original */ ,
21635c4bbdfSmrg                                       InternalEvent *  /* copy */
21735c4bbdfSmrg    );
21805b261ecSmrg
2196747b715Smrg/**
2206747b715Smrg * Custom input event handler. If you need to process input events in some
2216747b715Smrg * other way than the default path, register an input event handler for the
2226747b715Smrg * given internal event type.
2236747b715Smrg */
22435c4bbdfSmrgtypedef void (*mieqHandler) (int screen, InternalEvent *event,
22535c4bbdfSmrg                             DeviceIntPtr dev);
2266747b715Smrgvoid _X_EXPORT mieqSetHandler(int event, mieqHandler handler);
2274642e01fSmrg
22805b261ecSmrg/* miexpose.c */
22905b261ecSmrg
23035c4bbdfSmrgextern _X_EXPORT RegionPtr miHandleExposures(DrawablePtr /*pSrcDrawable */ ,
23135c4bbdfSmrg                                             DrawablePtr /*pDstDrawable */ ,
23235c4bbdfSmrg                                             GCPtr /*pGC */ ,
23335c4bbdfSmrg                                             int /*srcx */ ,
23435c4bbdfSmrg                                             int /*srcy */ ,
23535c4bbdfSmrg                                             int /*width */ ,
23635c4bbdfSmrg                                             int /*height */ ,
23735c4bbdfSmrg                                             int /*dstx */ ,
23835c4bbdfSmrg                                             int /*dsty */
23935c4bbdfSmrg    );
24035c4bbdfSmrg
24135c4bbdfSmrgextern _X_EXPORT void miSendExposures(WindowPtr /*pWin */ ,
24235c4bbdfSmrg                                      RegionPtr /*pRgn */ ,
24335c4bbdfSmrg                                      int /*dx */ ,
24435c4bbdfSmrg                                      int       /*dy */
24535c4bbdfSmrg    );
24635c4bbdfSmrg
24735c4bbdfSmrgextern _X_EXPORT void miWindowExposures(WindowPtr /*pWin */ ,
24835c4bbdfSmrg                                        RegionPtr /*prgn */);
24935c4bbdfSmrg
25035c4bbdfSmrgextern _X_EXPORT void miPaintWindow(WindowPtr /*pWin */ ,
25135c4bbdfSmrg                                    RegionPtr /*prgn */ ,
25235c4bbdfSmrg                                    int /*what */
25335c4bbdfSmrg    );
25435c4bbdfSmrg
25535c4bbdfSmrgextern _X_EXPORT void miClearDrawable(DrawablePtr /*pDraw */ ,
25635c4bbdfSmrg                                      GCPtr     /*pGC */
25735c4bbdfSmrg    );
25805b261ecSmrg
25905b261ecSmrg/* mifillrct.c */
26005b261ecSmrg
26135c4bbdfSmrgextern _X_EXPORT void miPolyFillRect(DrawablePtr /*pDrawable */ ,
26235c4bbdfSmrg                                     GCPtr /*pGC */ ,
26335c4bbdfSmrg                                     int /*nrectFill */ ,
26435c4bbdfSmrg                                     xRectangle *       /*prectInit */
26535c4bbdfSmrg    );
26605b261ecSmrg
26705b261ecSmrg/* miglblt.c */
26805b261ecSmrg
26935c4bbdfSmrgextern _X_EXPORT void miPolyGlyphBlt(DrawablePtr pDrawable,
27035c4bbdfSmrg                                     GCPtr pGC,
27135c4bbdfSmrg                                     int x,
27235c4bbdfSmrg                                     int y,
27335c4bbdfSmrg                                     unsigned int nglyph,
27435c4bbdfSmrg                                     CharInfoPtr *ppci,
27535c4bbdfSmrg                                     void *pglyphBase
27635c4bbdfSmrg    );
27735c4bbdfSmrg
27835c4bbdfSmrgextern _X_EXPORT void miImageGlyphBlt(DrawablePtr pDrawable,
27935c4bbdfSmrg                                      GCPtr pGC,
28035c4bbdfSmrg                                      int x,
28135c4bbdfSmrg                                      int y,
28235c4bbdfSmrg                                      unsigned int nglyph,
28335c4bbdfSmrg                                      CharInfoPtr *ppci,
28435c4bbdfSmrg                                      void *pglyphBase
28535c4bbdfSmrg    );
28605b261ecSmrg
28705b261ecSmrg/* mipoly.c */
28805b261ecSmrg
28935c4bbdfSmrgextern _X_EXPORT void miFillPolygon(DrawablePtr /*dst */ ,
29035c4bbdfSmrg                                    GCPtr /*pgc */ ,
29135c4bbdfSmrg                                    int /*shape */ ,
29235c4bbdfSmrg                                    int /*mode */ ,
29335c4bbdfSmrg                                    int /*count */ ,
29435c4bbdfSmrg                                    DDXPointPtr /*pPts */
29535c4bbdfSmrg    );
29605b261ecSmrg
29705b261ecSmrg/* mipolypnt.c */
29805b261ecSmrg
29935c4bbdfSmrgextern _X_EXPORT void miPolyPoint(DrawablePtr /*pDrawable */ ,
30035c4bbdfSmrg                                  GCPtr /*pGC */ ,
30135c4bbdfSmrg                                  int /*mode */ ,
30235c4bbdfSmrg                                  int /*npt */ ,
30335c4bbdfSmrg                                  xPoint *      /*pptInit */
30435c4bbdfSmrg    );
30505b261ecSmrg
30605b261ecSmrg/* mipolyrect.c */
30705b261ecSmrg
30835c4bbdfSmrgextern _X_EXPORT void miPolyRectangle(DrawablePtr /*pDraw */ ,
30935c4bbdfSmrg                                      GCPtr /*pGC */ ,
31035c4bbdfSmrg                                      int /*nrects */ ,
31135c4bbdfSmrg                                      xRectangle *      /*pRects */
31235c4bbdfSmrg    );
31305b261ecSmrg
31405b261ecSmrg/* mipolyseg.c */
31505b261ecSmrg
31635c4bbdfSmrgextern _X_EXPORT void miPolySegment(DrawablePtr /*pDraw */ ,
31735c4bbdfSmrg                                    GCPtr /*pGC */ ,
31835c4bbdfSmrg                                    int /*nseg */ ,
31935c4bbdfSmrg                                    xSegment *  /*pSegs */
32035c4bbdfSmrg    );
32105b261ecSmrg
32205b261ecSmrg/* mipolytext.c */
32305b261ecSmrg
32435c4bbdfSmrgextern _X_EXPORT int miPolyText8(DrawablePtr /*pDraw */ ,
32535c4bbdfSmrg                                 GCPtr /*pGC */ ,
32635c4bbdfSmrg                                 int /*x */ ,
32735c4bbdfSmrg                                 int /*y */ ,
32835c4bbdfSmrg                                 int /*count */ ,
32935c4bbdfSmrg                                 char * /*chars */
33035c4bbdfSmrg    );
33135c4bbdfSmrg
33235c4bbdfSmrgextern _X_EXPORT int miPolyText16(DrawablePtr /*pDraw */ ,
33335c4bbdfSmrg                                  GCPtr /*pGC */ ,
33435c4bbdfSmrg                                  int /*x */ ,
33535c4bbdfSmrg                                  int /*y */ ,
33635c4bbdfSmrg                                  int /*count */ ,
33735c4bbdfSmrg                                  unsigned short *      /*chars */
33835c4bbdfSmrg    );
33935c4bbdfSmrg
34035c4bbdfSmrgextern _X_EXPORT void miImageText8(DrawablePtr /*pDraw */ ,
34135c4bbdfSmrg                                   GCPtr /*pGC */ ,
34235c4bbdfSmrg                                   int /*x */ ,
34335c4bbdfSmrg                                   int /*y */ ,
34435c4bbdfSmrg                                   int /*count */ ,
34535c4bbdfSmrg                                   char *       /*chars */
34635c4bbdfSmrg    );
34735c4bbdfSmrg
34835c4bbdfSmrgextern _X_EXPORT void miImageText16(DrawablePtr /*pDraw */ ,
34935c4bbdfSmrg                                    GCPtr /*pGC */ ,
35035c4bbdfSmrg                                    int /*x */ ,
35135c4bbdfSmrg                                    int /*y */ ,
35235c4bbdfSmrg                                    int /*count */ ,
35335c4bbdfSmrg                                    unsigned short *    /*chars */
35435c4bbdfSmrg    );
35505b261ecSmrg
35605b261ecSmrg/* mipushpxl.c */
35705b261ecSmrg
35835c4bbdfSmrgextern _X_EXPORT void miPushPixels(GCPtr /*pGC */ ,
35935c4bbdfSmrg                                   PixmapPtr /*pBitMap */ ,
36035c4bbdfSmrg                                   DrawablePtr /*pDrawable */ ,
36135c4bbdfSmrg                                   int /*dx */ ,
36235c4bbdfSmrg                                   int /*dy */ ,
36335c4bbdfSmrg                                   int /*xOrg */ ,
36435c4bbdfSmrg                                   int  /*yOrg */
36535c4bbdfSmrg    );
36605b261ecSmrg
36705b261ecSmrg/* miscrinit.c */
36805b261ecSmrg
36925da500fSmrgextern _X_EXPORT void
37025da500fSmrgmiSourceValidate(DrawablePtr pDrawable, int x, int y, int w, int h,
37125da500fSmrg                 unsigned int subWindowMode);
37225da500fSmrg
37335c4bbdfSmrgextern _X_EXPORT Bool miModifyPixmapHeader(PixmapPtr pPixmap,
37435c4bbdfSmrg                                           int width,
37535c4bbdfSmrg                                           int height,
37635c4bbdfSmrg                                           int depth,
37735c4bbdfSmrg                                           int bitsPerPixel,
37835c4bbdfSmrg                                           int devKind,
37935c4bbdfSmrg                                           void *pPixData
38035c4bbdfSmrg    );
38135c4bbdfSmrg
38235c4bbdfSmrgextern _X_EXPORT Bool miCreateScreenResources(ScreenPtr /*pScreen */
38335c4bbdfSmrg    );
38435c4bbdfSmrg
38535c4bbdfSmrgextern _X_EXPORT Bool miScreenDevPrivateInit(ScreenPtr pScreen,
38635c4bbdfSmrg                                             int width,
38735c4bbdfSmrg                                             void *pbits
38835c4bbdfSmrg    );
38935c4bbdfSmrg
39035c4bbdfSmrgextern _X_EXPORT Bool miScreenInit(ScreenPtr pScreen,
39135c4bbdfSmrg                                   void *pbits,
39235c4bbdfSmrg                                   int xsize,
39335c4bbdfSmrg                                   int ysize,
39435c4bbdfSmrg                                   int dpix,
39535c4bbdfSmrg                                   int dpiy,
39635c4bbdfSmrg                                   int width,
39735c4bbdfSmrg                                   int rootDepth,
39835c4bbdfSmrg                                   int numDepths,
39935c4bbdfSmrg                                   DepthPtr depths,
40035c4bbdfSmrg                                   VisualID rootVisual,
40135c4bbdfSmrg                                   int numVisuals,
40235c4bbdfSmrg                                   VisualPtr visuals
40335c4bbdfSmrg    );
40405b261ecSmrg
40505b261ecSmrg/* mivaltree.c */
40605b261ecSmrg
40735c4bbdfSmrgextern _X_EXPORT int miShapedWindowIn(RegionPtr /*universe */ ,
40835c4bbdfSmrg                                      RegionPtr /*bounding */ ,
40935c4bbdfSmrg                                      BoxPtr /*rect */ ,
41035c4bbdfSmrg                                      int /*x */ ,
41135c4bbdfSmrg                                      int       /*y */
41235c4bbdfSmrg    );
41335c4bbdfSmrg
41435c4bbdfSmrgextern _X_EXPORT int miValidateTree(WindowPtr /*pParent */ ,
41535c4bbdfSmrg                                    WindowPtr /*pChild */ ,
41635c4bbdfSmrg                                    VTKind      /*kind */
41735c4bbdfSmrg    );
41835c4bbdfSmrg
41935c4bbdfSmrgextern _X_EXPORT void miWideLine(DrawablePtr /*pDrawable */ ,
42035c4bbdfSmrg                                 GCPtr /*pGC */ ,
42135c4bbdfSmrg                                 int /*mode */ ,
42235c4bbdfSmrg                                 int /*npt */ ,
42335c4bbdfSmrg                                 DDXPointPtr    /*pPts */
42435c4bbdfSmrg    );
42535c4bbdfSmrg
42635c4bbdfSmrgextern _X_EXPORT void miWideDash(DrawablePtr /*pDrawable */ ,
42735c4bbdfSmrg                                 GCPtr /*pGC */ ,
42835c4bbdfSmrg                                 int /*mode */ ,
42935c4bbdfSmrg                                 int /*npt */ ,
43035c4bbdfSmrg                                 DDXPointPtr    /*pPts */
43135c4bbdfSmrg    );
43235c4bbdfSmrg
43335c4bbdfSmrgextern _X_EXPORT void miPolylines(DrawablePtr pDrawable,
43435c4bbdfSmrg                                  GCPtr pGC,
43535c4bbdfSmrg                                  int mode,
43635c4bbdfSmrg                                  int npt,
43735c4bbdfSmrg                                  DDXPointPtr pPts);
43805b261ecSmrg
43935c4bbdfSmrg/* miwindow.c */
44005b261ecSmrg
44135c4bbdfSmrgextern _X_EXPORT void miClearToBackground(WindowPtr /*pWin */ ,
44235c4bbdfSmrg                                          int /*x */ ,
44335c4bbdfSmrg                                          int /*y */ ,
44435c4bbdfSmrg                                          int /*w */ ,
44535c4bbdfSmrg                                          int /*h */ ,
44635c4bbdfSmrg                                          Bool  /*generateExposures */
44735c4bbdfSmrg    );
44805b261ecSmrg
44935c4bbdfSmrgextern _X_EXPORT void miMarkWindow(WindowPtr    /*pWin */
45035c4bbdfSmrg    );
45105b261ecSmrg
45235c4bbdfSmrgextern _X_EXPORT Bool miMarkOverlappedWindows(WindowPtr /*pWin */ ,
45335c4bbdfSmrg                                              WindowPtr /*pFirst */ ,
45435c4bbdfSmrg                                              WindowPtr *       /*ppLayerWin */
45535c4bbdfSmrg    );
45635c4bbdfSmrg
45735c4bbdfSmrgextern _X_EXPORT void miHandleValidateExposures(WindowPtr       /*pWin */
45835c4bbdfSmrg    );
45935c4bbdfSmrg
46035c4bbdfSmrgextern _X_EXPORT void miMoveWindow(WindowPtr /*pWin */ ,
46135c4bbdfSmrg                                   int /*x */ ,
46235c4bbdfSmrg                                   int /*y */ ,
46335c4bbdfSmrg                                   WindowPtr /*pNextSib */ ,
46435c4bbdfSmrg                                   VTKind       /*kind */
46535c4bbdfSmrg    );
46635c4bbdfSmrg
46735c4bbdfSmrgextern _X_EXPORT void miResizeWindow(WindowPtr /*pWin */ ,
46835c4bbdfSmrg                                     int /*x */ ,
46935c4bbdfSmrg                                     int /*y */ ,
47035c4bbdfSmrg                                     unsigned int /*w */ ,
47135c4bbdfSmrg                                     unsigned int /*h */ ,
47235c4bbdfSmrg                                     WindowPtr    /*pSib */
47335c4bbdfSmrg    );
47435c4bbdfSmrg
47535c4bbdfSmrgextern _X_EXPORT WindowPtr miGetLayerWindow(WindowPtr   /*pWin */
47635c4bbdfSmrg    );
47735c4bbdfSmrg
47835c4bbdfSmrgextern _X_EXPORT void miSetShape(WindowPtr /*pWin */ ,
47935c4bbdfSmrg                                 int    /*kind */
48035c4bbdfSmrg    );
48135c4bbdfSmrg
48235c4bbdfSmrgextern _X_EXPORT void miChangeBorderWidth(WindowPtr /*pWin */ ,
48335c4bbdfSmrg                                          unsigned int  /*width */
48435c4bbdfSmrg    );
48535c4bbdfSmrg
48635c4bbdfSmrgextern _X_EXPORT void miMarkUnrealizedWindow(WindowPtr /*pChild */ ,
48735c4bbdfSmrg                                             WindowPtr /*pWin */ ,
48835c4bbdfSmrg                                             Bool       /*fromConfigure */
48935c4bbdfSmrg    );
49035c4bbdfSmrg
49135c4bbdfSmrgextern _X_EXPORT WindowPtr miSpriteTrace(SpritePtr pSprite, int x, int y);
49205b261ecSmrg
49335c4bbdfSmrgextern _X_EXPORT WindowPtr miXYToWindow(ScreenPtr pScreen, SpritePtr pSprite, int x, int y);
49405b261ecSmrg
49505b261ecSmrg/* mizerarc.c */
49605b261ecSmrg
49735c4bbdfSmrgextern _X_EXPORT void miZeroPolyArc(DrawablePtr /*pDraw */ ,
49835c4bbdfSmrg                                    GCPtr /*pGC */ ,
49935c4bbdfSmrg                                    int /*narcs */ ,
50035c4bbdfSmrg                                    xArc *      /*parcs */
50135c4bbdfSmrg    );
50205b261ecSmrg
50305b261ecSmrg/* mizerline.c */
50405b261ecSmrg
50535c4bbdfSmrgextern _X_EXPORT void miZeroLine(DrawablePtr /*dst */ ,
50635c4bbdfSmrg                                 GCPtr /*pgc */ ,
50735c4bbdfSmrg                                 int /*mode */ ,
50835c4bbdfSmrg                                 int /*nptInit */ ,
50935c4bbdfSmrg                                 DDXPointRec *  /*pptInit */
51035c4bbdfSmrg    );
51135c4bbdfSmrg
51235c4bbdfSmrgextern _X_EXPORT void miZeroDashLine(DrawablePtr /*dst */ ,
51335c4bbdfSmrg                                     GCPtr /*pgc */ ,
51435c4bbdfSmrg                                     int /*mode */ ,
51535c4bbdfSmrg                                     int /*nptInit */ ,
51635c4bbdfSmrg                                     DDXPointRec *      /*pptInit */
51735c4bbdfSmrg    );
51835c4bbdfSmrg
51935c4bbdfSmrgextern _X_EXPORT void miPolyFillArc(DrawablePtr /*pDraw */ ,
52035c4bbdfSmrg                                    GCPtr /*pGC */ ,
52135c4bbdfSmrg                                    int /*narcs */ ,
52235c4bbdfSmrg                                    xArc *      /*parcs */
52335c4bbdfSmrg    );
52435c4bbdfSmrg
52535c4bbdfSmrg#endif                          /* MI_H */
526