summaryrefslogtreecommitdiff
path: root/src/undo_xlib_dot_h_namespace_pollution.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/undo_xlib_dot_h_namespace_pollution.h')
-rw-r--r--src/undo_xlib_dot_h_namespace_pollution.h553
1 files changed, 553 insertions, 0 deletions
diff --git a/src/undo_xlib_dot_h_namespace_pollution.h b/src/undo_xlib_dot_h_namespace_pollution.h
new file mode 100644
index 0000000..db215b5
--- /dev/null
+++ b/src/undo_xlib_dot_h_namespace_pollution.h
@@ -0,0 +1,553 @@
+// Copyright 2021 Benjamin Barenblat
+//
+// Licensed under the Apache License, Version 2.0 (the "License"); you may not
+// use this file except in compliance with the License. You may obtain a copy of
+// the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations under
+// the License.
+
+// X11/Xlib.h #defines a lot of macros. This header reexports the ones we care
+// about as inline functions or constants; it then deletes most of the macros to
+// avoid surprises from transitive inclusion.
+
+#ifndef GLPLANET_SRC_UNDO_XLIB_DOT_H_NAMESPACE_POLLUTION_H_
+#define GLPLANET_SRC_UNDO_XLIB_DOT_H_NAMESPACE_POLLUTION_H_
+
+#include <X11/Xlib.h>
+
+namespace xlib {
+
+// clang-format off
+
+inline int (DefaultScreen)(Display* display) noexcept {
+ return DefaultScreen(display);
+}
+
+// clang-format on
+
+} // namespace xlib
+
+// X11/X.h
+#undef None
+#undef ParentRelative
+#undef CopyFromParent
+#undef PointerWindow
+#undef InputFocus
+#undef PointerRoot
+#undef AnyPropertyType
+#undef AnyKey
+#undef AnyButton
+#undef AllTemporary
+#undef CurrentTime
+#undef NoSymbol
+#undef NoEventMask
+#undef KeyPressMask
+#undef KeyReleaseMask
+#undef ButtonPressMask
+#undef ButtonReleaseMask
+#undef EnterWindowMask
+#undef LeaveWindowMask
+#undef PointerMotionMask
+#undef PointerMotionHintMask
+#undef Button1MotionMask
+#undef Button2MotionMask
+#undef Button3MotionMask
+#undef Button4MotionMask
+#undef Button5MotionMask
+#undef ButtonMotionMask
+#undef KeymapStateMask
+#undef ExposureMask
+#undef VisibilityChangeMask
+#undef StructureNotifyMask
+#undef ResizeRedirectMask
+#undef SubstructureNotifyMask
+#undef SubstructureRedirectMask
+#undef FocusChangeMask
+#undef PropertyChangeMask
+#undef ColormapChangeMask
+#undef OwnerGrabButtonMask
+#undef KeyPress
+#undef KeyRelease
+#undef ButtonPress
+#undef ButtonRelease
+#undef MotionNotify
+#undef EnterNotify
+#undef LeaveNotify
+#undef FocusIn
+#undef FocusOut
+#undef KeymapNotify
+#undef Expose
+#undef GraphicsExpose
+#undef NoExpose
+#undef VisibilityNotify
+#undef CreateNotify
+#undef DestroyNotify
+#undef UnmapNotify
+#undef MapNotify
+#undef MapRequest
+#undef ReparentNotify
+#undef ConfigureNotify
+#undef ConfigureRequest
+#undef GravityNotify
+#undef ResizeRequest
+#undef CirculateNotify
+#undef CirculateRequest
+#undef PropertyNotify
+#undef SelectionClear
+#undef SelectionRequest
+#undef SelectionNotify
+#undef ColormapNotify
+#undef ClientMessage
+#undef MappingNotify
+#undef GenericEvent
+#undef LASTEvent
+#undef ShiftMask
+#undef LockMask
+#undef ControlMask
+#undef Mod1Mask
+#undef Mod2Mask
+#undef Mod3Mask
+#undef Mod4Mask
+#undef Mod5Mask
+#undef ShiftMapIndex
+#undef LockMapIndex
+#undef ControlMapIndex
+#undef Mod1MapIndex
+#undef Mod2MapIndex
+#undef Mod3MapIndex
+#undef Mod4MapIndex
+#undef Mod5MapIndex
+#undef Button1Mask
+#undef Button2Mask
+#undef Button3Mask
+#undef Button4Mask
+#undef Button5Mask
+#undef AnyModifier
+#undef Button1
+#undef Button2
+#undef Button3
+#undef Button4
+#undef Button5
+#undef NotifyNormal
+#undef NotifyGrab
+#undef NotifyUngrab
+#undef NotifyWhileGrabbed
+#undef NotifyHint
+#undef NotifyAncestor
+#undef NotifyVirtual
+#undef NotifyInferior
+#undef NotifyNonlinear
+#undef NotifyNonlinearVirtual
+#undef NotifyPointer
+#undef NotifyPointerRoot
+#undef NotifyDetailNone
+#undef VisibilityUnobscured
+#undef VisibilityPartiallyObscured
+#undef VisibilityFullyObscured
+#undef PlaceOnTop
+#undef PlaceOnBottom
+#undef FamilyInternet
+#undef FamilyDECnet
+#undef FamilyChaos
+#undef FamilyInternet6
+#undef FamilyServerInterpreted
+#undef PropertyNewValue
+#undef PropertyDelete
+#undef ColormapUninstalled
+#undef ColormapInstalled
+#undef GrabModeSync
+#undef GrabModeAsync
+#undef GrabSuccess
+#undef AlreadyGrabbed
+#undef GrabInvalidTime
+#undef GrabNotViewable
+#undef GrabFrozen
+#undef AsyncPointer
+#undef SyncPointer
+#undef ReplayPointer
+#undef AsyncKeyboard
+#undef SyncKeyboard
+#undef ReplayKeyboard
+#undef AsyncBoth
+#undef SyncBoth
+#undef RevertToNone
+#undef RevertToPointerRoot
+#undef RevertToParent
+#undef Success
+#undef BadRequest
+#undef BadValue
+#undef BadWindow
+#undef BadPixmap
+#undef BadAtom
+#undef BadCursor
+#undef BadFont
+#undef BadMatch
+#undef BadDrawable
+#undef BadAccess
+#undef BadAlloc
+#undef BadColor
+#undef BadGC
+#undef BadIDChoice
+#undef BadName
+#undef BadLength
+#undef BadImplementation
+#undef FirstExtensionError
+#undef LastExtensionError
+#undef InputOutput
+#undef InputOnly
+#undef CWBackPixmap
+#undef CWBackPixel
+#undef CWBorderPixmap
+#undef CWBorderPixel
+#undef CWBitGravity
+#undef CWWinGravity
+#undef CWBackingStore
+#undef CWBackingPlanes
+#undef CWBackingPixel
+#undef CWOverrideRedirect
+#undef CWSaveUnder
+#undef CWEventMask
+#undef CWDontPropagate
+#undef CWColormap
+#undef CWCursor
+#undef CWX
+#undef CWY
+#undef CWWidth
+#undef CWHeight
+#undef CWBorderWidth
+#undef CWSibling
+#undef CWStackMode
+#undef ForgetGravity
+#undef NorthWestGravity
+#undef NorthGravity
+#undef NorthEastGravity
+#undef WestGravity
+#undef CenterGravity
+#undef EastGravity
+#undef SouthWestGravity
+#undef SouthGravity
+#undef SouthEastGravity
+#undef StaticGravity
+#undef UnmapGravity
+#undef NotUseful
+#undef WhenMapped
+#undef Always
+#undef IsUnmapped
+#undef IsUnviewable
+#undef IsViewable
+#undef SetModeInsert
+#undef SetModeDelete
+#undef DestroyAll
+#undef RetainPermanent
+#undef RetainTemporary
+#undef Above
+#undef Below
+#undef TopIf
+#undef BottomIf
+#undef Opposite
+#undef RaiseLowest
+#undef LowerHighest
+#undef PropModeReplace
+#undef PropModePrepend
+#undef PropModeAppend
+#undef GXclear
+#undef GXand
+#undef GXandReverse
+#undef GXcopy
+#undef GXandInverted
+#undef GXnoop
+#undef GXxor
+#undef GXor
+#undef GXnor
+#undef GXequiv
+#undef GXinvert
+#undef GXorReverse
+#undef GXcopyInverted
+#undef GXorInverted
+#undef GXnand
+#undef GXset
+#undef LineSolid
+#undef LineOnOffDash
+#undef LineDoubleDash
+#undef CapNotLast
+#undef CapButt
+#undef CapRound
+#undef CapProjecting
+#undef JoinMiter
+#undef JoinRound
+#undef JoinBevel
+#undef FillSolid
+#undef FillTiled
+#undef FillStippled
+#undef FillOpaqueStippled
+#undef EvenOddRule
+#undef WindingRule
+#undef ClipByChildren
+#undef IncludeInferiors
+#undef Unsorted
+#undef YSorted
+#undef YXSorted
+#undef YXBanded
+#undef CoordModeOrigin
+#undef CoordModePrevious
+#undef Complex
+#undef Nonconvex
+#undef Convex
+#undef ArcChord
+#undef ArcPieSlice
+#undef GCFunction
+#undef GCPlaneMask
+#undef GCForeground
+#undef GCBackground
+#undef GCLineWidth
+#undef GCLineStyle
+#undef GCCapStyle
+#undef GCJoinStyle
+#undef GCFillStyle
+#undef GCFillRule
+#undef GCTile
+#undef GCStipple
+#undef GCTileStipXOrigin
+#undef GCTileStipYOrigin
+#undef GCFont
+#undef GCSubwindowMode
+#undef GCGraphicsExposures
+#undef GCClipXOrigin
+#undef GCClipYOrigin
+#undef GCClipMask
+#undef GCDashOffset
+#undef GCDashList
+#undef GCArcMode
+#undef GCLastBit
+#undef FontLeftToRight
+#undef FontRightToLeft
+#undef FontChange
+#undef XYBitmap
+#undef XYPixmap
+#undef ZPixmap
+#undef AllocNone
+#undef AllocAll
+#undef DoRed
+#undef DoGreen
+#undef DoBlue
+#undef CursorShape
+#undef TileShape
+#undef StippleShape
+#undef AutoRepeatModeOff
+#undef AutoRepeatModeOn
+#undef AutoRepeatModeDefault
+#undef LedModeOff
+#undef LedModeOn
+#undef KBKeyClickPercent
+#undef KBBellPercent
+#undef KBBellPitch
+#undef KBBellDuration
+#undef KBLed
+#undef KBLedMode
+#undef KBKey
+#undef KBAutoRepeatMode
+#undef MappingSuccess
+#undef MappingBusy
+#undef MappingFailed
+#undef MappingModifier
+#undef MappingKeyboard
+#undef MappingPointer
+#undef DontPreferBlanking
+#undef PreferBlanking
+#undef DefaultBlanking
+#undef DisableScreenSaver
+#undef DisableScreenInterval
+#undef DontAllowExposures
+#undef AllowExposures
+#undef DefaultExposures
+#undef ScreenSaverReset
+#undef ScreenSaverActive
+#undef HostInsert
+#undef HostDelete
+#undef EnableAccess
+#undef DisableAccess
+#undef StaticGray
+#undef GrayScale
+#undef StaticColor
+#undef PseudoColor
+#undef TrueColor
+#undef DirectColor
+#undef LSBFirst
+#undef MSBFirst
+
+// X11/Xfuncproto.h
+#undef NeedFunctionPrototypes
+#undef NeedVarargsPrototypes
+#undef NeedNestedPrototypes
+#undef NARROWPROTO
+#undef FUNCPROTO
+#undef NeedWidePrototypes
+
+// X11/Xosdefs.h
+#undef NULL_NOT_ZERO
+#undef _DARWIN_C_SOURCE
+#undef CSRG_BASED
+
+// X11/Xlib.h
+#undef XlibSpecificationRelease
+#undef Bool
+#undef Status
+#undef True
+#undef False
+#undef QueuedAlready
+#undef QueuedAfterReading
+#undef QueuedAfterFlush
+#undef ConnectionNumber
+#undef RootWindow
+#undef DefaultScreen
+#undef DefaultRootWindow
+#undef DefaultVisual
+#undef DefaultGC
+#undef BlackPixel
+#undef WhitePixel
+#undef AllPlanes
+#undef QLength
+#undef DisplayWidth
+#undef DisplayHeight
+#undef DisplayWidthMM
+#undef DisplayHeightMM
+#undef DisplayPlanes
+#undef DisplayCells
+#undef ScreenCount
+#undef ServerVendor
+#undef ProtocolVersion
+#undef ProtocolRevision
+#undef VendorRelease
+#undef DisplayString
+#undef DefaultDepth
+#undef DefaultColormap
+#undef BitmapUnit
+#undef BitmapBitOrder
+#undef BitmapPad
+#undef ImageByteOrder
+#undef NextRequest
+#undef LastKnownRequestProcessed
+#undef ScreenOfDisplay
+#undef DefaultScreenOfDisplay
+#undef DisplayOfScreen
+#undef RootWindowOfScreen
+#undef BlackPixelOfScreen
+#undef WhitePixelOfScreen
+#undef DefaultColormapOfScreen
+#undef DefaultDepthOfScreen
+#undef DefaultGCOfScreen
+#undef DefaultVisualOfScreen
+#undef WidthOfScreen
+#undef HeightOfScreen
+#undef WidthMMOfScreen
+#undef HeightMMOfScreen
+#undef PlanesOfScreen
+#undef CellsOfScreen
+#undef MinCmapsOfScreen
+#undef MaxCmapsOfScreen
+#undef DoesSaveUnders
+#undef DoesBackingStore
+#undef EventMaskOfScreen
+#undef XAllocID
+#undef XNRequiredCharSet
+#undef XNQueryOrientation
+#undef XNBaseFontName
+#undef XNOMAutomatic
+#undef XNMissingCharSet
+#undef XNDefaultString
+#undef XNOrientation
+#undef XNDirectionalDependentDrawing
+#undef XNContextualDrawing
+#undef XNFontInfo
+#undef XIMPreeditArea
+#undef XIMPreeditCallbacks
+#undef XIMPreeditPosition
+#undef XIMPreeditNothing
+#undef XIMPreeditNone
+#undef XIMStatusArea
+#undef XIMStatusCallbacks
+#undef XIMStatusNothing
+#undef XIMStatusNone
+#undef XNVaNestedList
+#undef XNQueryInputStyle
+#undef XNClientWindow
+#undef XNInputStyle
+#undef XNFocusWindow
+#undef XNResourceName
+#undef XNResourceClass
+#undef XNGeometryCallback
+#undef XNDestroyCallback
+#undef XNFilterEvents
+#undef XNPreeditStartCallback
+#undef XNPreeditDoneCallback
+#undef XNPreeditDrawCallback
+#undef XNPreeditCaretCallback
+#undef XNPreeditStateNotifyCallback
+#undef XNPreeditAttributes
+#undef XNStatusStartCallback
+#undef XNStatusDoneCallback
+#undef XNStatusDrawCallback
+#undef XNStatusAttributes
+#undef XNArea
+#undef XNAreaNeeded
+#undef XNSpotLocation
+#undef XNColormap
+#undef XNStdColormap
+#undef XNForeground
+#undef XNBackground
+#undef XNBackgroundPixmap
+#undef XNFontSet
+#undef XNLineSpace
+#undef XNCursor
+#undef XNQueryIMValuesList
+#undef XNQueryICValuesList
+#undef XNVisiblePosition
+#undef XNR6PreeditCallback
+#undef XNStringConversionCallback
+#undef XNStringConversion
+#undef XNResetState
+#undef XNHotKey
+#undef XNHotKeyState
+#undef XNPreeditState
+#undef XNSeparatorofNestedList
+#undef XBufferOverflow
+#undef XLookupNone
+#undef XLookupChars
+#undef XLookupKeySym
+#undef XLookupBoth
+#undef XIMReverse
+#undef XIMUnderline
+#undef XIMHighlight
+#undef XIMPrimary
+#undef XIMSecondary
+#undef XIMTertiary
+#undef XIMVisibleToForward
+#undef XIMVisibleToBackword
+#undef XIMVisibleToCenter
+#undef XIMPreeditUnKnown
+#undef XIMPreeditEnable
+#undef XIMPreeditDisable
+#undef XIMInitialState
+#undef XIMPreserveState
+#undef XIMStringConversionLeftEdge
+#undef XIMStringConversionRightEdge
+#undef XIMStringConversionTopEdge
+#undef XIMStringConversionBottomEdge
+#undef XIMStringConversionConcealed
+#undef XIMStringConversionWrapped
+#undef XIMStringConversionBuffer
+#undef XIMStringConversionLine
+#undef XIMStringConversionWord
+#undef XIMStringConversionChar
+#undef XIMStringConversionSubstitution
+#undef XIMStringConversionRetrieval
+#undef XIMHotKeyStateON
+#undef XIMHotKeyStateOFF
+
+#endif // GLPLANET_SRC_UNDO_XLIB_DOT_H_NAMESPACE_POLLUTION_H_