mi.h revision 35c4bbdf
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
20835c4bbdfSmrgextern DeviceIntPtr CopyGetMasterEvent(DeviceIntPtr /* sdev */ ,
20935c4bbdfSmrg                                       InternalEvent * /* original */ ,
21035c4bbdfSmrg                                       InternalEvent *  /* copy */
21135c4bbdfSmrg    );
21205b261ecSmrg
2136747b715Smrg/**
2146747b715Smrg * Custom input event handler. If you need to process input events in some
2156747b715Smrg * other way than the default path, register an input event handler for the
2166747b715Smrg * given internal event type.
2176747b715Smrg */
21835c4bbdfSmrgtypedef void (*mieqHandler) (int screen, InternalEvent *event,
21935c4bbdfSmrg                             DeviceIntPtr dev);
2206747b715Smrgvoid _X_EXPORT mieqSetHandler(int event, mieqHandler handler);
2214642e01fSmrg
22205b261ecSmrg/* miexpose.c */
22305b261ecSmrg
22435c4bbdfSmrgextern _X_EXPORT RegionPtr miHandleExposures(DrawablePtr /*pSrcDrawable */ ,
22535c4bbdfSmrg                                             DrawablePtr /*pDstDrawable */ ,
22635c4bbdfSmrg                                             GCPtr /*pGC */ ,
22735c4bbdfSmrg                                             int /*srcx */ ,
22835c4bbdfSmrg                                             int /*srcy */ ,
22935c4bbdfSmrg                                             int /*width */ ,
23035c4bbdfSmrg                                             int /*height */ ,
23135c4bbdfSmrg                                             int /*dstx */ ,
23235c4bbdfSmrg                                             int /*dsty */
23335c4bbdfSmrg    );
23435c4bbdfSmrg
23535c4bbdfSmrgextern _X_EXPORT void miSendExposures(WindowPtr /*pWin */ ,
23635c4bbdfSmrg                                      RegionPtr /*pRgn */ ,
23735c4bbdfSmrg                                      int /*dx */ ,
23835c4bbdfSmrg                                      int       /*dy */
23935c4bbdfSmrg    );
24035c4bbdfSmrg
24135c4bbdfSmrgextern _X_EXPORT void miWindowExposures(WindowPtr /*pWin */ ,
24235c4bbdfSmrg                                        RegionPtr /*prgn */);
24335c4bbdfSmrg
24435c4bbdfSmrgextern _X_EXPORT void miPaintWindow(WindowPtr /*pWin */ ,
24535c4bbdfSmrg                                    RegionPtr /*prgn */ ,
24635c4bbdfSmrg                                    int /*what */
24735c4bbdfSmrg    );
24835c4bbdfSmrg
24935c4bbdfSmrgextern _X_EXPORT void miClearDrawable(DrawablePtr /*pDraw */ ,
25035c4bbdfSmrg                                      GCPtr     /*pGC */
25135c4bbdfSmrg    );
25205b261ecSmrg
25305b261ecSmrg/* mifillrct.c */
25405b261ecSmrg
25535c4bbdfSmrgextern _X_EXPORT void miPolyFillRect(DrawablePtr /*pDrawable */ ,
25635c4bbdfSmrg                                     GCPtr /*pGC */ ,
25735c4bbdfSmrg                                     int /*nrectFill */ ,
25835c4bbdfSmrg                                     xRectangle *       /*prectInit */
25935c4bbdfSmrg    );
26005b261ecSmrg
26105b261ecSmrg/* miglblt.c */
26205b261ecSmrg
26335c4bbdfSmrgextern _X_EXPORT void miPolyGlyphBlt(DrawablePtr pDrawable,
26435c4bbdfSmrg                                     GCPtr pGC,
26535c4bbdfSmrg                                     int x,
26635c4bbdfSmrg                                     int y,
26735c4bbdfSmrg                                     unsigned int nglyph,
26835c4bbdfSmrg                                     CharInfoPtr *ppci,
26935c4bbdfSmrg                                     void *pglyphBase
27035c4bbdfSmrg    );
27135c4bbdfSmrg
27235c4bbdfSmrgextern _X_EXPORT void miImageGlyphBlt(DrawablePtr pDrawable,
27335c4bbdfSmrg                                      GCPtr pGC,
27435c4bbdfSmrg                                      int x,
27535c4bbdfSmrg                                      int y,
27635c4bbdfSmrg                                      unsigned int nglyph,
27735c4bbdfSmrg                                      CharInfoPtr *ppci,
27835c4bbdfSmrg                                      void *pglyphBase
27935c4bbdfSmrg    );
28005b261ecSmrg
28105b261ecSmrg/* mipoly.c */
28205b261ecSmrg
28335c4bbdfSmrgextern _X_EXPORT void miFillPolygon(DrawablePtr /*dst */ ,
28435c4bbdfSmrg                                    GCPtr /*pgc */ ,
28535c4bbdfSmrg                                    int /*shape */ ,
28635c4bbdfSmrg                                    int /*mode */ ,
28735c4bbdfSmrg                                    int /*count */ ,
28835c4bbdfSmrg                                    DDXPointPtr /*pPts */
28935c4bbdfSmrg    );
29005b261ecSmrg
29105b261ecSmrg/* mipolypnt.c */
29205b261ecSmrg
29335c4bbdfSmrgextern _X_EXPORT void miPolyPoint(DrawablePtr /*pDrawable */ ,
29435c4bbdfSmrg                                  GCPtr /*pGC */ ,
29535c4bbdfSmrg                                  int /*mode */ ,
29635c4bbdfSmrg                                  int /*npt */ ,
29735c4bbdfSmrg                                  xPoint *      /*pptInit */
29835c4bbdfSmrg    );
29905b261ecSmrg
30005b261ecSmrg/* mipolyrect.c */
30105b261ecSmrg
30235c4bbdfSmrgextern _X_EXPORT void miPolyRectangle(DrawablePtr /*pDraw */ ,
30335c4bbdfSmrg                                      GCPtr /*pGC */ ,
30435c4bbdfSmrg                                      int /*nrects */ ,
30535c4bbdfSmrg                                      xRectangle *      /*pRects */
30635c4bbdfSmrg    );
30705b261ecSmrg
30805b261ecSmrg/* mipolyseg.c */
30905b261ecSmrg
31035c4bbdfSmrgextern _X_EXPORT void miPolySegment(DrawablePtr /*pDraw */ ,
31135c4bbdfSmrg                                    GCPtr /*pGC */ ,
31235c4bbdfSmrg                                    int /*nseg */ ,
31335c4bbdfSmrg                                    xSegment *  /*pSegs */
31435c4bbdfSmrg    );
31505b261ecSmrg
31605b261ecSmrg/* mipolytext.c */
31705b261ecSmrg
31835c4bbdfSmrgextern _X_EXPORT int miPolyText8(DrawablePtr /*pDraw */ ,
31935c4bbdfSmrg                                 GCPtr /*pGC */ ,
32035c4bbdfSmrg                                 int /*x */ ,
32135c4bbdfSmrg                                 int /*y */ ,
32235c4bbdfSmrg                                 int /*count */ ,
32335c4bbdfSmrg                                 char * /*chars */
32435c4bbdfSmrg    );
32535c4bbdfSmrg
32635c4bbdfSmrgextern _X_EXPORT int miPolyText16(DrawablePtr /*pDraw */ ,
32735c4bbdfSmrg                                  GCPtr /*pGC */ ,
32835c4bbdfSmrg                                  int /*x */ ,
32935c4bbdfSmrg                                  int /*y */ ,
33035c4bbdfSmrg                                  int /*count */ ,
33135c4bbdfSmrg                                  unsigned short *      /*chars */
33235c4bbdfSmrg    );
33335c4bbdfSmrg
33435c4bbdfSmrgextern _X_EXPORT void miImageText8(DrawablePtr /*pDraw */ ,
33535c4bbdfSmrg                                   GCPtr /*pGC */ ,
33635c4bbdfSmrg                                   int /*x */ ,
33735c4bbdfSmrg                                   int /*y */ ,
33835c4bbdfSmrg                                   int /*count */ ,
33935c4bbdfSmrg                                   char *       /*chars */
34035c4bbdfSmrg    );
34135c4bbdfSmrg
34235c4bbdfSmrgextern _X_EXPORT void miImageText16(DrawablePtr /*pDraw */ ,
34335c4bbdfSmrg                                    GCPtr /*pGC */ ,
34435c4bbdfSmrg                                    int /*x */ ,
34535c4bbdfSmrg                                    int /*y */ ,
34635c4bbdfSmrg                                    int /*count */ ,
34735c4bbdfSmrg                                    unsigned short *    /*chars */
34835c4bbdfSmrg    );
34905b261ecSmrg
35005b261ecSmrg/* mipushpxl.c */
35105b261ecSmrg
35235c4bbdfSmrgextern _X_EXPORT void miPushPixels(GCPtr /*pGC */ ,
35335c4bbdfSmrg                                   PixmapPtr /*pBitMap */ ,
35435c4bbdfSmrg                                   DrawablePtr /*pDrawable */ ,
35535c4bbdfSmrg                                   int /*dx */ ,
35635c4bbdfSmrg                                   int /*dy */ ,
35735c4bbdfSmrg                                   int /*xOrg */ ,
35835c4bbdfSmrg                                   int  /*yOrg */
35935c4bbdfSmrg    );
36005b261ecSmrg
36105b261ecSmrg/* miscrinit.c */
36205b261ecSmrg
36335c4bbdfSmrgextern _X_EXPORT Bool miModifyPixmapHeader(PixmapPtr pPixmap,
36435c4bbdfSmrg                                           int width,
36535c4bbdfSmrg                                           int height,
36635c4bbdfSmrg                                           int depth,
36735c4bbdfSmrg                                           int bitsPerPixel,
36835c4bbdfSmrg                                           int devKind,
36935c4bbdfSmrg                                           void *pPixData
37035c4bbdfSmrg    );
37135c4bbdfSmrg
37235c4bbdfSmrgextern _X_EXPORT Bool miCreateScreenResources(ScreenPtr /*pScreen */
37335c4bbdfSmrg    );
37435c4bbdfSmrg
37535c4bbdfSmrgextern _X_EXPORT Bool miScreenDevPrivateInit(ScreenPtr pScreen,
37635c4bbdfSmrg                                             int width,
37735c4bbdfSmrg                                             void *pbits
37835c4bbdfSmrg    );
37935c4bbdfSmrg
38035c4bbdfSmrgextern _X_EXPORT Bool miScreenInit(ScreenPtr pScreen,
38135c4bbdfSmrg                                   void *pbits,
38235c4bbdfSmrg                                   int xsize,
38335c4bbdfSmrg                                   int ysize,
38435c4bbdfSmrg                                   int dpix,
38535c4bbdfSmrg                                   int dpiy,
38635c4bbdfSmrg                                   int width,
38735c4bbdfSmrg                                   int rootDepth,
38835c4bbdfSmrg                                   int numDepths,
38935c4bbdfSmrg                                   DepthPtr depths,
39035c4bbdfSmrg                                   VisualID rootVisual,
39135c4bbdfSmrg                                   int numVisuals,
39235c4bbdfSmrg                                   VisualPtr visuals
39335c4bbdfSmrg    );
39405b261ecSmrg
39505b261ecSmrg/* mivaltree.c */
39605b261ecSmrg
39735c4bbdfSmrgextern _X_EXPORT int miShapedWindowIn(RegionPtr /*universe */ ,
39835c4bbdfSmrg                                      RegionPtr /*bounding */ ,
39935c4bbdfSmrg                                      BoxPtr /*rect */ ,
40035c4bbdfSmrg                                      int /*x */ ,
40135c4bbdfSmrg                                      int       /*y */
40235c4bbdfSmrg    );
40335c4bbdfSmrg
40435c4bbdfSmrgextern _X_EXPORT int miValidateTree(WindowPtr /*pParent */ ,
40535c4bbdfSmrg                                    WindowPtr /*pChild */ ,
40635c4bbdfSmrg                                    VTKind      /*kind */
40735c4bbdfSmrg    );
40835c4bbdfSmrg
40935c4bbdfSmrgextern _X_EXPORT void miWideLine(DrawablePtr /*pDrawable */ ,
41035c4bbdfSmrg                                 GCPtr /*pGC */ ,
41135c4bbdfSmrg                                 int /*mode */ ,
41235c4bbdfSmrg                                 int /*npt */ ,
41335c4bbdfSmrg                                 DDXPointPtr    /*pPts */
41435c4bbdfSmrg    );
41535c4bbdfSmrg
41635c4bbdfSmrgextern _X_EXPORT void miWideDash(DrawablePtr /*pDrawable */ ,
41735c4bbdfSmrg                                 GCPtr /*pGC */ ,
41835c4bbdfSmrg                                 int /*mode */ ,
41935c4bbdfSmrg                                 int /*npt */ ,
42035c4bbdfSmrg                                 DDXPointPtr    /*pPts */
42135c4bbdfSmrg    );
42235c4bbdfSmrg
42335c4bbdfSmrgextern _X_EXPORT void miPolylines(DrawablePtr pDrawable,
42435c4bbdfSmrg                                  GCPtr pGC,
42535c4bbdfSmrg                                  int mode,
42635c4bbdfSmrg                                  int npt,
42735c4bbdfSmrg                                  DDXPointPtr pPts);
42805b261ecSmrg
42935c4bbdfSmrg/* miwindow.c */
43005b261ecSmrg
43135c4bbdfSmrgextern _X_EXPORT void miClearToBackground(WindowPtr /*pWin */ ,
43235c4bbdfSmrg                                          int /*x */ ,
43335c4bbdfSmrg                                          int /*y */ ,
43435c4bbdfSmrg                                          int /*w */ ,
43535c4bbdfSmrg                                          int /*h */ ,
43635c4bbdfSmrg                                          Bool  /*generateExposures */
43735c4bbdfSmrg    );
43805b261ecSmrg
43935c4bbdfSmrgextern _X_EXPORT void miMarkWindow(WindowPtr    /*pWin */
44035c4bbdfSmrg    );
44105b261ecSmrg
44235c4bbdfSmrgextern _X_EXPORT Bool miMarkOverlappedWindows(WindowPtr /*pWin */ ,
44335c4bbdfSmrg                                              WindowPtr /*pFirst */ ,
44435c4bbdfSmrg                                              WindowPtr *       /*ppLayerWin */
44535c4bbdfSmrg    );
44635c4bbdfSmrg
44735c4bbdfSmrgextern _X_EXPORT void miHandleValidateExposures(WindowPtr       /*pWin */
44835c4bbdfSmrg    );
44935c4bbdfSmrg
45035c4bbdfSmrgextern _X_EXPORT void miMoveWindow(WindowPtr /*pWin */ ,
45135c4bbdfSmrg                                   int /*x */ ,
45235c4bbdfSmrg                                   int /*y */ ,
45335c4bbdfSmrg                                   WindowPtr /*pNextSib */ ,
45435c4bbdfSmrg                                   VTKind       /*kind */
45535c4bbdfSmrg    );
45635c4bbdfSmrg
45735c4bbdfSmrgextern _X_EXPORT void miResizeWindow(WindowPtr /*pWin */ ,
45835c4bbdfSmrg                                     int /*x */ ,
45935c4bbdfSmrg                                     int /*y */ ,
46035c4bbdfSmrg                                     unsigned int /*w */ ,
46135c4bbdfSmrg                                     unsigned int /*h */ ,
46235c4bbdfSmrg                                     WindowPtr    /*pSib */
46335c4bbdfSmrg    );
46435c4bbdfSmrg
46535c4bbdfSmrgextern _X_EXPORT WindowPtr miGetLayerWindow(WindowPtr   /*pWin */
46635c4bbdfSmrg    );
46735c4bbdfSmrg
46835c4bbdfSmrgextern _X_EXPORT void miSetShape(WindowPtr /*pWin */ ,
46935c4bbdfSmrg                                 int    /*kind */
47035c4bbdfSmrg    );
47135c4bbdfSmrg
47235c4bbdfSmrgextern _X_EXPORT void miChangeBorderWidth(WindowPtr /*pWin */ ,
47335c4bbdfSmrg                                          unsigned int  /*width */
47435c4bbdfSmrg    );
47535c4bbdfSmrg
47635c4bbdfSmrgextern _X_EXPORT void miMarkUnrealizedWindow(WindowPtr /*pChild */ ,
47735c4bbdfSmrg                                             WindowPtr /*pWin */ ,
47835c4bbdfSmrg                                             Bool       /*fromConfigure */
47935c4bbdfSmrg    );
48035c4bbdfSmrg
48135c4bbdfSmrgextern _X_EXPORT WindowPtr miSpriteTrace(SpritePtr pSprite, int x, int y);
48205b261ecSmrg
48335c4bbdfSmrgextern _X_EXPORT WindowPtr miXYToWindow(ScreenPtr pScreen, SpritePtr pSprite, int x, int y);
48405b261ecSmrg
48505b261ecSmrg/* mizerarc.c */
48605b261ecSmrg
48735c4bbdfSmrgextern _X_EXPORT void miZeroPolyArc(DrawablePtr /*pDraw */ ,
48835c4bbdfSmrg                                    GCPtr /*pGC */ ,
48935c4bbdfSmrg                                    int /*narcs */ ,
49035c4bbdfSmrg                                    xArc *      /*parcs */
49135c4bbdfSmrg    );
49205b261ecSmrg
49305b261ecSmrg/* mizerline.c */
49405b261ecSmrg
49535c4bbdfSmrgextern _X_EXPORT void miZeroLine(DrawablePtr /*dst */ ,
49635c4bbdfSmrg                                 GCPtr /*pgc */ ,
49735c4bbdfSmrg                                 int /*mode */ ,
49835c4bbdfSmrg                                 int /*nptInit */ ,
49935c4bbdfSmrg                                 DDXPointRec *  /*pptInit */
50035c4bbdfSmrg    );
50135c4bbdfSmrg
50235c4bbdfSmrgextern _X_EXPORT void miZeroDashLine(DrawablePtr /*dst */ ,
50335c4bbdfSmrg                                     GCPtr /*pgc */ ,
50435c4bbdfSmrg                                     int /*mode */ ,
50535c4bbdfSmrg                                     int /*nptInit */ ,
50635c4bbdfSmrg                                     DDXPointRec *      /*pptInit */
50735c4bbdfSmrg    );
50835c4bbdfSmrg
50935c4bbdfSmrgextern _X_EXPORT void miPolyFillArc(DrawablePtr /*pDraw */ ,
51035c4bbdfSmrg                                    GCPtr /*pGC */ ,
51135c4bbdfSmrg                                    int /*narcs */ ,
51235c4bbdfSmrg                                    xArc *      /*parcs */
51335c4bbdfSmrg    );
51435c4bbdfSmrg
51535c4bbdfSmrg#endif                          /* MI_H */
516