Committing in .

wxX11 for OpenVMS (phase 3)
   -minimal.exe for OpenVMS now builds and displays a window but crashes when
    trying to use the menus.

 Modified Files:
 	wxWidgets/descrip.mms wxWidgets/include/wx/vms_x_fix.h
 	wxWidgets/lib/VMS_X11_UNIV.OPT
 	wxWidgets/samples/minimal/descrip.mms
 	wxWidgets/src/univ/descrip.mms wxWidgets/src/x11/app.cpp
 	wxWidgets/src/x11/descrip.mms wxWidgets/src/x11/font.cpp
 	wxWidgets/src/x11/gsockx11.cpp wxWidgets/src/x11/utilsx.cpp
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26273 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Jouk Jansen 2004-03-19 15:48:03 +00:00
parent 7b3daa84ac
commit a371f70393
10 changed files with 186 additions and 17 deletions

View File

@ -126,7 +126,7 @@ x11 : [.include.wx]setup.h
set default [-.menu]
# $(MMS)$(MMSQUALIFIERS)/macro=(__WXX11__=1,__WXUNIVERSAL__=1)
set default [-.minimal]
# $(MMS)$(MMSQUALIFIERS)/macro=(__WXX11__=1,__WXUNIVERSAL__=1)
$(MMS)$(MMSQUALIFIERS)/macro=(__WXX11__=1,__WXUNIVERSAL__=1)
set default [-.richedit]
# $(MMS)$(MMSQUALIFIERS)/macro=(__WXX11__=1,__WXUNIVERSAL__=1)
set default [--]

View File

@ -2,7 +2,7 @@
* *
* Author : Jouk Jansen (joukj@hrem.stm.tudelft.nl) *
* *
* Last revision : 28 March 2003 *
* Last revision : 19 January 2004 *
* *
* Repair definitions of Runtime library functions when compiling with *
* /name=(as_is) on OpenVMS *
@ -39,6 +39,7 @@
#define XChangeWindowAttributes XCHANGEWINDOWATTRIBUTES
#define XCheckIfEvent XCHECKIFEVENT
#define XCheckMaskEvent XCHECKMASKEVENT
#define XCheckTypedEvent XCHECKTYPEDEVENT
#define XCheckTypedWindowEvent XCHECKTYPEDWINDOWEVENT
#define XCheckWindowEvent XCHECKWINDOWEVENT
#define XClearArea XCLEARAREA
@ -57,6 +58,7 @@
#define XCreateFontCursor XCREATEFONTCURSOR
#define XCreateFontSet XCREATEFONTSET
#define XCreateGC XCREATEGC
#define XCreateGlyphCursor XCREATEGLYPHCURSOR
#define XCreateIC XCREATEIC
#define XCreateImage XCREATEIMAGE
#define XCreatePixmap XCREATEPIXMAP
@ -106,7 +108,9 @@
#define XEnableAccessControl XENABLEACCESSCONTROL
#define XEqualRegion XEQUALREGION
#define XEventsQueued XEVENTSQUEUED
#define XExtendedMaxRequestSize XEXTENDEDMAXREQUESTSIZE
#define XExtentsOfFontSet XEXTENTSOFFONTSET
#define XFetchBuffer XFETCHBUFFER
#define XFetchName XFETCHNAME
#define XFillArc XFILLARC
#define XFillArcs XFILLARCS
@ -132,6 +136,7 @@
#define XFreeModifiermap XFREEMODIFIERMAP
#define XFreePixmap XFREEPIXMAP
#define XFreeStringList XFREESTRINGLIST
#define XGContextFromGC XGCONTEXTFROMGC
#define XGetAtomName XGETATOMNAME
#define XGetCommand XGETCOMMAND
#define XGetDefault XGETDEFAULT
@ -155,6 +160,7 @@
#define XGetRGBColormaps XGETRGBCOLORMAPS
#define XGetScreenSaver XGETSCREENSAVER
#define XGetSelectionOwner XGETSELECTIONOWNER
#define XGetStandardColormap XGETSTANDARDCOLORMAP
#define XGetSubImage XGETSUBIMAGE
#define XGetTextProperty XGETTEXTPROPERTY
#define XGetVisualInfo XGETVISUALINFO
@ -173,11 +179,13 @@
#define XIfEvent XIFEVENT
#define XInstallColormap XINSTALLCOLORMAP
#define XInternAtom XINTERNATOM
#define XInternAtoms XINTERNATOMS
#define XIntersectRegion XINTERSECTREGION
#define XKeycodeToKeysym XKEYCODETOKEYSYM
#define XKeysymToKeycode XKEYSYMTOKEYCODE
#define XKeysymToString XKEYSYMTOSTRING
#define XKillClient XKILLCLIENT
#define XListDepths XLISTDEPTHS
#define XListFonts XLISTFONTS
#define XListFontsWithInfo XLISTFONTSWITHINFO
#define XListHosts XLISTHOSTS
@ -200,6 +208,7 @@
#define XMoveResizeWindow XMOVERESIZEWINDOW
#define XMoveWindow XMOVEWINDOW
#define XNextEvent XNEXTEVENT
#define XNoOp XNOOP
#define XOffsetRegion XOFFSETREGION
#define XOpenDevice XOPENDEVICE
#define XOpenDisplay XOPENDISPLAY
@ -213,6 +222,8 @@
#define XPolygonRegion XPOLYGONREGION
#define XPutBackEvent XPUTBACKEVENT
#define XPutImage XPUTIMAGE
#define XQueryBestCursor XQUERYBESTCURSOR
#define XQueryBestStipple XQUERYBESTSTIPPLE
#define XQueryColor XQUERYCOLOR
#define XQueryColors XQUERYCOLORS
#define XQueryDeviceState XQUERYDEVICESTATE
@ -278,6 +289,7 @@
#define XSetTSOrigin XSETTSORIGIN
#define XSetTile XSETTILE
#define XSetTransientForHint XSETTRANSIENTFORHINT
#define XSetWMClientMachine XSETWMCLIENTMACHINE
#define XSetWMColormapWindows XSETWMCOLORMAPWINDOWS
#define XSetWMHints XSETWMHINTS
#define XSetWMIconName XSETWMICONNAME
@ -285,21 +297,27 @@
#define XSetWMNormalHints XSETWMNORMALHINTS
#define XSetWMProperties XSETWMPROPERTIES
#define XSetWMProtocols XSETWMPROTOCOLS
#define XSetWMSizeHints XSETWMSIZEHINTS
#define XSetWindowBackground XSETWINDOWBACKGROUND
#define XSetWindowBackgroundPixmap XSETWINDOWBACKGROUNDPIXMAP
#define XSetWindowBorder XSETWINDOWBORDER
#define XSetWindowBorderPixmap XSETWINDOWBORDERPIXMAP
#define XSetWindowBorderWidth XSETWINDOWBORDERWIDTH
#define XSetWindowColormap XSETWINDOWCOLORMAP
#define XShapeCombineMask XSHAPECOMBINEMASK
#define XShapeCombineRectangles XSHAPECOMBINERECTANGLES
#define XShapeGetRectangles XSHAPEGETRECTANGLES
#define XShapeQueryExtension XSHAPEQUERYEXTENSION
#define XShmAttach XSHMATTACH
#define XShmCreateImage XSHMCREATEIMAGE
#define XShmCreatePixmap XSHMCREATEPIXMAP
#define XShmDetach XSHMDETACH
#define XShmGetEventBase XSHMGETEVENTBASE
#define XShmPutImage XSHMPUTIMAGE
#define XShmQueryExtension XSHMQUERYEXTENSION
#define XShmQueryVersion XSHMQUERYVERSION
#define XShrinkRegion XSHRINKREGION
#define XStoreBuffer XSTOREBUFFER
#define XStoreBytes XSTOREBYTES
#define XStoreColor XSTORECOLOR
#define XStoreColors XSTORECOLORS
@ -588,6 +606,7 @@
#define XrmPutStringResource XRMPUTSTRINGRESOURCE
#define XrmQPutStringResource XRMQPUTSTRINGRESOURCE
#define XrmQuarkToString XRMQUARKTOSTRING
#define XrmSetDatabase XRMSETDATABASE
#define XrmStringToBindingQuarkList XRMSTRINGTOBINDINGQUARKLIST
#define XrmStringToQuark XRMSTRINGTOQUARK
#define XrmStringToQuark XRMSTRINGTOQUARK
@ -629,6 +648,7 @@
#define XtDestroyWidget XTDESTROYWIDGET
#define XtDisownSelection XTDISOWNSELECTION
#define XtDispatchEvent XTDISPATCHEVENT
#define XtDisplay XTDISPLAY
#define XtDisplayOfObject XTDISPLAYOFOBJECT
#define XtDisplayStringConvWarning XTDISPLAYSTRINGCONVWARNING
#define XtDisplayToApplicationContext XTDISPLAYTOAPPLICATIONCONTEXT
@ -653,6 +673,7 @@
#define XtInsertEventHandler XTINSERTEVENTHANDLER
#define XtIsManaged XTISMANAGED
#define XtIsObject XTISOBJECT
#define XtIsRealized XTISREALIZED
#define XtIsSensitive XTISSENSITIVE
#define XtIsSubclass XTISSUBCLASS
#define XtLastTimestampProcessed XTLASTTIMESTAMPPROCESSED
@ -669,6 +690,7 @@
#define XtOpenDisplay XTOPENDISPLAY
#define XtOverrideTranslations XTOVERRIDETRANSLATIONS
#define XtOwnSelection XTOWNSELECTION
#define XtParent XTPARENT
#define XtParseTranslationTable XTPARSETRANSLATIONTABLE
#define XtPopdown XTPOPDOWN
#define XtPopup XTPOPUP
@ -687,6 +709,7 @@
#define XtRemoveWorkProc XTREMOVEWORKPROC
#define XtResizeWidget XTRESIZEWIDGET
#define XtResolvePathname XTRESOLVEPATHNAME
#define XtScreen XTSCREEN
#define XtSetKeyboardFocus XTSETKEYBOARDFOCUS
#define XtSetMappedWhenManaged XTSETMAPPEDWHENMANAGED
#define XtSetSensitive XTSETSENSITIVE
@ -711,6 +734,7 @@
#define XtVaSetValues XTVASETVALUES
#define XtWarning XTWARNING
#define XtWidgetToApplicationContext XTWIDGETTOAPPLICATIONCONTEXT
#define XtWindow XTWINDOW
#define XtWindowOfObject XTWINDOWOFOBJECT
#define XtWindowToWidget XTWINDOWTOWIDGET
#define XwcDrawString XWCDRAWSTRING
@ -719,8 +743,12 @@
#define XwcTextExtents XWCTEXTEXTENTS
#define XwcTextListToTextProperty XWCTEXTLISTTOTEXTPROPERTY
#define XwcTextPropertyToTextList XWCTEXTPROPERTYTOTEXTLIST
#define _XAllocTemp _XALLOCTEMP
#define _XDeqAsyncHandler _XDEQASYNCHANDLER
#define _XEatData _XEATDATA
#define _XFlush _XFLUSH
#define _XFreeTemp _XFREETEMP
#define _XGetAsyncReply _XGETASYNCREPLY
#define _XInitImageFuncPtrs _XINITIMAGEFUNCPTRS
#define _XRead _XREAD
#define _XRegisterFilterByType _XREGISTERFILTERBYTYPE
@ -770,14 +798,64 @@
#define _XtInheritTranslations _XTINHERITTRANSLATIONS
#define applicationShellWidgetClass APPLICATIONSHELLWIDGETCLASS
#define compositeWidgetClass COMPOSITEWIDGETCLASS
#define exe$getspi EXE$GETSPI
#define lbr$close LBR$CLOSE
#define lbr$get_header LBR$GET_HEADER
#define lbr$get_index LBR$GET_INDEX
#define lbr$get_record LBR$GET_RECORD
#define lbr$ini_control LBR$INI_CONTROL
#define lbr$lookup_key LBR$LOOKUP_KEY
#define lbr$open LBR$OPEN
#define lib$add_times LIB$ADD_TIMES
#define lib$addx LIB$ADDX
#define lib$create_dir LIB$CREATE_DIR
#define lib$create_vm_zone LIB$CREATE_VM_ZONE
#define lib$cvt_from_internal_time LIB$CVT_FROM_INTERNAL_TIME
#define lib$cvt_htb LIB$CVT_HTB
#define lib$cvt_vectim LIB$CVT_VECTIM
#define lib$day LIB$DAY
#define lib$day_of_week LIB$DAY_OF_WEEK
#define lib$delete_symbol LIB$DELETE_SYMBOL
#define lib$delete_vm_zone LIB$DELETE_VM_ZONE
#define lib$disable_ctrl LIB$DISABLE_CTRL
#define lib$ediv LIB$EDIV
#define lib$emul LIB$EMUL
#define lib$enable_ctrl LIB$ENABLE_CTRL
#define lib$find_vm_zone LIB$FIND_VM_ZONE
#define lib$format_date_time LIB$FORMAT_DATE_TIME
#define lib$free_timer LIB$FREE_TIMER
#define lib$free_vm LIB$FREE_VM
#define lib$get_ef LIB$GET_EF
#define lib$get_foreign LIB$GET_FOREIGN
#define lib$get_users_language LIB$GET_USERS_LANGUAGE
#define lib$get_vm LIB$GET_VM
#define lib$get_symbol LIB$GET_SYMBOL
#define lib$getdvi LIB$GETDVI
#define lib$init_date_time_context LIB$INIT_DATE_TIME_CONTEXT
#define lib$init_timer LIB$INIT_TIMER
#define lib$find_file LIB$FIND_FILE
#define lib$find_file_end LIB$FIND_FILE_END
#define lib$find_image_symbol LIB$FIND_IMAGE_SYMBOL
#define lib$mult_delta_time LIB$MULT_DELTA_TIME
#define lib$rename_file LIB$RENAME_FILE
#define lib$reset_vm_zone LIB$RESET_VM_ZONE
#define lib$set_symbol LIB$SET_SYMBOL
#define lib$sfree1_dd LIB$SFREE1_DD
#define lib$show_vm LIB$SHOW_VM
#define lib$show_vm_zone LIB$SHOW_VM_ZONE
#define lib$spawn LIB$SPAWN
#define lib$stat_timer LIB$STAT_TIMER
#define lib$subx LIB$SUBX
#define lib$sub_times LIB$SUB_TIMES
#define lib$wait LIB$WAIT
#define mail$send_add_address MAIL$SEND_ADD_ADDRESS
#define mail$send_add_attribute MAIL$SEND_ADD_ATTRIBUTE
#define mail$send_add_bodypart MAIL$SEND_ADD_BODYPART
#define mail$send_begin MAIL$SEND_BEGIN
#define mail$send_end MAIL$SEND_END
#define mail$send_message MAIL$SEND_MESSAGE
#define ncs$convert NCS$CONVERT
#define ncs$get_cf NCS$GET_CF
#define overrideShellWidgetClass OVERRIDESHELLWIDGETCLASS
#define pthread_attr_create PTHREAD_ATTR_CREATE
#define pthread_attr_delete PTHREAD_ATTR_DELETE
@ -874,19 +952,82 @@
#define shmctl SHMCTL
#define shmdt SHMDT
#define shmget SHMGET
#define sys$add_ident SYS$ADD_IDENT
#define sys$asctoid SYS$ASCTOID
#define sys$assign SYS$ASSIGN
#define sys$bintim SYS$BINTIM
#define sys$cancel SYS$CANCEL
#define sys$cantim SYS$CANTIM
#define sys$check_access SYS$CHECK_ACCESS
#define sys$close SYS$CLOSE
#define sys$connect SYS$CONNECT
#define sys$create SYS$CREATE
#define sys$create_user_profile SYS$CREATE_USER_PROFILE
#define sys$crembx SYS$CREMBX
#define sys$creprc SYS$CREPRC
#define sys$crmpsc SYS$CRMPSC
#define sys$dassgn SYS$DASSGN
#define sys$dclast SYS$DCLAST
#define sys$dclexh SYS$DCLEXH
#define sys$delprc SYS$DELPRC
#define sys$deq SYS$DEQ
#define sys$dgblsc SYS$DGBLSC
#define sys$display SYS$DISPLAY
#define sys$enq SYS$ENQ
#define sys$enqw SYS$ENQW
#define sys$erase SYS$ERASE
#define sys$fao SYS$FAO
#define sys$faol SYS$FAOL
#define sys$find_held SYS$FIND_HELD
#define sys$finish_rdb SYS$FINISH_RDB
#define sys$flush SYS$FLUSH
#define sys$forcex SYS$FORCEX
#define sys$get SYS$GET
#define sys$get_security SYS$GET_SECURITY
#define sys$getdviw SYS$GETDVIW
#define sys$getjpi SYS$GETJPI
#define sys$getjpiw SYS$GETJPIW
#define sys$getlkiw SYS$GETLKIW
#define sys$getmsg SYS$GETMSG
#define sys$getsyi SYS$GETSYI
#define sys$getsyiw SYS$GETSYIW
#define sys$gettim SYS$GETTIM
#define sys$getuai SYS$GETUAI
#define sys$grantid SYS$GRANTID
#define sys$hash_password SYS$HASH_PASSWORD
#define sys$hiber SYS$HIBER
#define sys$mgblsc SYS$MGBLSC
#define sys$numtim SYS$NUMTIM
#define sys$open SYS$OPEN
#define sys$parse SYS$PARSE
#define sys$parse_acl SYS$PARSE_ACL
#define sys$parse_acl SYS$PARSE_ACL
#define sys$persona_assume SYS$PERSONA_ASSUME
#define sys$persona_create SYS$PERSONA_CREATE
#define sys$persona_delete SYS$PERSONA_DELETE
#define sys$process_scan SYS$PROCESS_SCAN
#define sys$put SYS$PUT
#define sys$qio SYS$QIO
#define sys$qiow SYS$QIOW
#define sys$read SYS$READ
#define sys$resched SYS$RESCHED
#define sys$rewind SYS$REWIND
#define sys$search SYS$SEARCH
#define sys$set_security SYS$SET_SECURITY
#define sys$setast SYS$SETAST
#define sys$setef SYS$SETEF
#define sys$setimr SYS$SETIMR
#define sys$setpri SYS$SETPRI
#define sys$setprn SYS$SETPRN
#define sys$setprv SYS$SETPRV
#define sys$setswm SYS$SETSWM
#define sys$setuai SYS$SETUAI
#define sys$sndopr SYS$SNDOPR
#define sys$synch SYS$SYNCH
#define sys$trnlnm SYS$TRNLNM
#define sys$update SYS$UPDATE
#define sys$wake SYS$WAKE
#define sys$write SYS$WRITE
#define topLevelShellClassRec TOPLEVELSHELLCLASSREC
#define topLevelShellWidgetClass TOPLEVELSHELLWIDGETCLASS
#define transientShellWidgetClass TRANSIENTSHELLWIDGETCLASS

View File

@ -7,4 +7,5 @@ X11:libxpm.olb/lib
sys$share:iodbc.exe/share
sys$share:vms_jackets.exe/share
sys$share:pthread$rtl.exe/share
sys$library:decw$xextlibshr.exe/share
sys$library:decw$xlibshr.exe/share

View File

@ -19,6 +19,7 @@ CXX_DEFINE = /define=(__WXGTK__=1)/float=ieee/name=(as_is,short)/ieee=denorm\
.ifdef __WXX11__
CXX_DEFINE = /define=(__WXX11__=1,__WXUNIVERSAL__==1)/float=ieee\
/name=(as_is,short)/assume=(nostdnew,noglobal_array_new)
.else
CXX_DEFINE =
.endif
.endif

View File

@ -94,11 +94,11 @@ SOURCES =\
winuniv.cpp \
combobox.cpp \
ctrlrend.cpp \
gtk.cpp \
metal.cpp \
radiobox.cpp \
scrthumb.cpp \
win32.cpp
[.themes]gtk.cpp \
[.themes]metal.cpp \
[.themes]win32.cpp
all : $(SOURCES)
$(MMS)$(MMSQUALIFIERS) $(OBJECTS)
@ -137,8 +137,11 @@ topluniv.obj : topluniv.cpp
winuniv.obj : winuniv.cpp
combobox.obj : combobox.cpp
ctrlrend.obj : ctrlrend.cpp
gtk.obj : gtk.cpp
metal.obj : metal.cpp
gtk.obj : [.themes]gtk.cpp
cxx $(CXXFLAGS)$(CXX_DEFINE) [.themes]gtk.cpp
metal.obj : [.themes]metal.cpp
cxx $(CXXFLAGS)$(CXX_DEFINE) [.themes]metal.cpp
radiobox.obj : radiobox.cpp
scrthumb.obj : scrthumb.cpp
win32.obj : win32.cpp
win32.obj : [.themes]win32.cpp
cxx $(CXXFLAGS)$(CXX_DEFINE) [.themes]win32.cpp

View File

@ -746,7 +746,9 @@ Window wxGetWindowParent(Window window)
return (Window) 0;
Window parent, root = 0;
#ifndef __VMS
// VMS chokes on unreacheable code
Window parent, root = 0;
#if wxUSE_NANOX
int noChildren = 0;
#else
@ -767,6 +769,7 @@ Window wxGetWindowParent(Window window)
return parent;
else
return (Window) 0;
#endif
}
void wxApp::Exit()

View File

@ -38,7 +38,7 @@ OBJECTS = \
region.obj,\
utilsx.obj
OBJECTS_X11=dc.obj,\
OBJECTS_X11=app.obj,dc.obj,\
dcclient.obj,\
dcmemory.obj,\
dcscreen.obj,\
@ -56,10 +56,16 @@ OBJECTS_X11=dc.obj,\
settings.obj,\
toplevel.obj,\
utils.obj,\
window.obj
window.obj,\
colour.obj,\
cursor.obj,\
data.obj,\
dataobj.obj,\
clipbrd.obj
SOURCES = \
app.cpp,\
bitmap.cpp,\
brush.cpp,\
glcanvas.cpp,\
@ -77,14 +83,19 @@ SOURCES = \
icon.cpp,\
main.cpp,\
minifram.cpp,\
nanox.cpp,\
nanox.c,\
palette.cpp,\
popupwin.cpp,\
reparent.cpp,\
settings.cpp,\
toplevel.cpp,\
utils.cpp,\
window.cpp
window.cpp,\
colour.cpp,\
cursor.cpp,\
data.cpp,\
dataobj.cpp,\
clipbrd.cpp
all : $(SOURCES)
$(MMS)$(MMSQUALIFIERS) $(OBJECTS)
@ -115,7 +126,7 @@ gsockx11.obj : gsockx11.cpp
icon.obj : icon.cpp
main.obj : main.cpp
minifram.obj : minifram.cpp
nanox.obj : nanox.cpp
nanox.obj : nanox.c
palette.obj : palette.cpp
popupwin.obj : popupwin.cpp
reparent.obj : reparent.cpp
@ -123,3 +134,9 @@ settings.obj : settings.cpp
toplevel.obj : toplevel.cpp
utils.obj : utils.cpp
window.obj : window.cpp
colour.obj : colour.cpp
app.obj : app.cpp
cursor.obj : cursor.cpp
data.obj : data.cpp
dataobj.obj : dataobj.cpp
clipbrd.obj : clipbrd.cpp

View File

@ -770,6 +770,7 @@ bool wxFont::IsFixedWidth() const
wxCHECK_MSG( Ok(), FALSE, wxT("invalid font") );
#if wxUSE_UNICODE
return wxFontBase::IsFixedWidth();
#else
// Robert, is this right? HasNativeFont doesn't exist.
if ( TRUE )
@ -781,9 +782,10 @@ bool wxFont::IsFixedWidth() const
return spacing.Upper() == _T('M');
}
// Unreaceable code for now
// return wxFontBase::IsFixedWidth();
#endif
return wxFontBase::IsFixedWidth();
}
// ----------------------------------------------------------------------------

View File

@ -24,8 +24,8 @@ typedef void (*wxSocketCallback) (int fd, void* data);
typedef enum
{ wxSocketTableInput, wxSocketTableOutput } wxSocketTableType ;
void wxRegisterSocketCallback(int fd, wxSocketTableType socketType, wxSocketCallback cback, void* data);
void wxUnregisterSocketCallback(int fd, wxSocketTableType socketType);
extern "C" void wxRegisterSocketCallback(int fd, wxSocketTableType socketType, wxSocketCallback cback, void* data);
extern "C" void wxUnregisterSocketCallback(int fd, wxSocketTableType socketType);
static void _GSocket_X11_Input(int *fid, void* data)

View File

@ -18,6 +18,7 @@
#ifdef HAVE_XSHAPE
#ifdef __VMS
# include "wx/vms_x_fix.h"
# include <X11/shape.h>
#else
# include <X11/extensions/shape.h>