factor/basis/x11/constants/constants.factor

409 lines
11 KiB
Factor

! Copyright (C) 2005, 2006 Eduardo Cavazos and Alex Chapman
! See http://factorcode.org/license.txt for BSD license.
! Based on X.h
USING: alien alien.syntax math x11.xlib ;
IN: x11.constants
TYPEDEF: ulong Mask
TYPEDEF: uchar KeyCode
! Reserved Resource and Constant Definitions
: ParentRelative 1 ;
: CopyFromParent 0 ;
: PointerWindow 0 ;
: InputFocus 1 ;
: PointerRoot 1 ;
: AnyPropertyType 0 ;
: AnyKey 0 ;
: AnyButton 0 ;
: AllTemporary 0 ;
: CurrentTime 0 ;
: NoSymbol 0 ;
! Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
! state in various key-, mouse-, and button-related events.
! modifier names. Used to build a SetModifierMapping request or
! to read a GetModifierMapping request. These correspond to the
! masks defined above.
: ShiftMapIndex 0 ;
: LockMapIndex 1 ;
: ControlMapIndex 2 ;
: Mod1MapIndex 3 ;
: Mod2MapIndex 4 ;
: Mod3MapIndex 5 ;
: Mod4MapIndex 6 ;
: Mod5MapIndex 7 ;
! button masks. Used in same manner as Key masks above. Not to be confused
! with button names below.
: AnyModifier ( -- n ) 15 2^ ; ! used in GrabButton, GrabKey
! button names. Used as arguments to GrabButton and as detail in ButtonPress
! and ButtonRelease events. Not to be confused with button masks above.
! Note that 0 is already defined above as "AnyButton".
! Notify modes
: NotifyNormal 0 ;
: NotifyGrab 1 ;
: NotifyUngrab 2 ;
: NotifyWhileGrabbed 3 ;
: NotifyHint 1 ; ! for MotionNotify events
! Notify detail
: NotifyAncestor 0 ;
: NotifyVirtual 1 ;
: NotifyInferior 2 ;
: NotifyNonlinear 3 ;
: NotifyNonlinearVirtual 4 ;
: NotifyPointer 5 ;
: NotifyPointerRoot 6 ;
: NotifyDetailNone 7 ;
! Visibility notify
: VisibilityUnobscured 0 ;
: VisibilityPartiallyObscured 1 ;
: VisibilityFullyObscured 2 ;
! Circulation request
: PlaceOnTop 0 ;
: PlaceOnBottom 1 ;
! protocol families
: FamilyInternet 0 ; ! IPv4
: FamilyDECnet 1 ;
: FamilyChaos 2 ;
: FamilyInternet6 6 ; ! IPv6
! authentication families not tied to a specific protocol
: FamilyServerInterpreted 5 ;
! Property notification
: PropertyNewValue 0 ;
: PropertyDelete 1 ;
! Color Map notification
: ColormapUninstalled 0 ;
: ColormapInstalled 1 ;
! GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes
: GrabModeSync 0 ;
: GrabModeAsync 1 ;
! GrabPointer, GrabKeyboard reply status
: GrabSuccess 0 ;
: AlreadyGrabbed 1 ;
: GrabInvalidTime 2 ;
: GrabNotViewable 3 ;
: GrabFrozen 4 ;
! AllowEvents modes
: AsyncPointer 0 ;
: SyncPointer 1 ;
: ReplayPointer 2 ;
: AsyncKeyboard 3 ;
: SyncKeyboard 4 ;
: ReplayKeyboard 5 ;
: AsyncBoth 6 ;
: SyncBoth 7 ;
! Used in SetInputFocus, GetInputFocus
: RevertToNone ( -- n ) None ;
: RevertToPointerRoot ( -- n ) PointerRoot ;
: RevertToParent 2 ;
! *****************************************************************
! * ERROR CODES
! *****************************************************************
: Success 0 ; ! everything's okay
: BadRequest 1 ; ! bad request code
: BadValue 2 ; ! int parameter out of range
: BadWindow 3 ; ! parameter not a Window
: BadPixmap 4 ; ! parameter not a Pixmap
: BadAtom 5 ; ! parameter not an Atom
: BadCursor 6 ; ! parameter not a Cursor
: BadFont 7 ; ! parameter not a Font
: BadMatch 8 ; ! parameter mismatch
: BadDrawable 9 ; ! parameter not a Pixmap or Window
: BadAccess 10 ; ! depending on context:
! - key/button already grabbed
! - attempt to free an illegal
! cmap entry
! - attempt to store into a read-only
! color map entry.
! - attempt to modify the access control
! list from other than the local host.
: BadAlloc 11 ; ! insufficient resources
: BadColor 12 ; ! no such colormap
: BadGC 13 ; ! parameter not a GC
: BadIDChoice 14 ; ! choice not in range or already used
: BadName 15 ; ! font or color name doesn't exist
: BadLength 16 ; ! Request length incorrect
: BadImplementation 17 ; ! server is defective
: FirstExtensionError 128 ;
: LastExtensionError 255 ;
! *****************************************************************
! * WINDOW DEFINITIONS
! *****************************************************************
! Window classes used by CreateWindow
! Note that CopyFromParent is already defined as 0 above
: InputOutput 1 ;
: InputOnly 2 ;
! Used in CreateWindow for backing-store hint
: NotUseful 0 ;
: WhenMapped 1 ;
: Always 2 ;
! Used in ChangeSaveSet
: SetModeInsert 0 ;
: SetModeDelete 1 ;
! Used in ChangeCloseDownMode
: DestroyAll 0 ;
: RetainPermanent 1 ;
: RetainTemporary 2 ;
! Window stacking method (in configureWindow)
: Above 0 ;
: Below 1 ;
: TopIf 2 ;
: BottomIf 3 ;
: Opposite 4 ;
! Circulation direction
: RaiseLowest 0 ;
: LowerHighest 1 ;
! Property modes
: PropModeReplace 0 ;
: PropModePrepend 1 ;
: PropModeAppend 2 ;
! *****************************************************************
! * GRAPHICS DEFINITIONS
! *****************************************************************
! LineStyle
: LineSolid 0 ;
: LineOnOffDash 1 ;
: LineDoubleDash 2 ;
! capStyle
: CapNotLast 0 ;
: CapButt 1 ;
: CapRound 2 ;
: CapProjecting 3 ;
! joinStyle
: JoinMiter 0 ;
: JoinRound 1 ;
: JoinBevel 2 ;
! fillStyle
: FillSolid 0 ;
: FillTiled 1 ;
: FillStippled 2 ;
: FillOpaqueStippled 3 ;
! fillRule
: EvenOddRule 0 ;
: WindingRule 1 ;
! subwindow mode
: ClipByChildren 0 ;
: IncludeInferiors 1 ;
! SetClipRectangles ordering
: Unsorted 0 ;
: YSorted 1 ;
: YXSorted 2 ;
: YXBanded 3 ;
! CoordinateMode for drawing routines
: CoordModeOrigin 0 ; ! relative to the origin
: CoordModePrevious 1 ; ! relative to previous point
! Polygon shapes
: Complex 0 ; ! paths may intersect
: Nonconvex 1 ; ! no paths intersect, but not convex
: Convex 2 ; ! wholly convex
! Arc modes for PolyFillArc
: ArcChord 0 ; ! join endpoints of arc
: ArcPieSlice 1 ; ! join endpoints to center of arc
! *****************************************************************
! * FONTS
! *****************************************************************
! used in QueryFont -- draw direction
: FontLeftToRight 0 ;
: FontRightToLeft 1 ;
: FontChange 255 ;
! *****************************************************************
! * IMAGING
! *****************************************************************
! ImageFormat -- PutImage, GetImage
: XYBitmap 0 ; ! depth 1, XYFormat
: XYPixmap 1 ; ! depth == drawable depth
: ZPixmap 2 ; ! depth == drawable depth
! *****************************************************************
! * COLOR MAP STUFF
! *****************************************************************
! For CreateColormap
: AllocNone 0 ; ! create map with no entries
: AllocAll 1 ; ! allocate entire map writeable
! Flags used in StoreNamedColor, StoreColors
: DoRed ( -- n ) 0 2^ ;
: DoGreen ( -- n ) 1 2^ ;
: DoBlue ( -- n ) 2 2^ ;
! *****************************************************************
! * CURSOR STUFF
! *****************************************************************
! QueryBestSize Class
: CursorShape 0 ; ! largest size that can be displayed
: TileShape 1 ; ! size tiled fastest
: StippleShape 2 ; ! size stippled fastest
! *****************************************************************
! * KEYBOARD/POINTER STUFF
! *****************************************************************
: AutoRepeatModeOff 0 ;
: AutoRepeatModeOn 1 ;
: AutoRepeatModeDefault 2 ;
: LedModeOff 0 ;
: LedModeOn 1 ;
! masks for ChangeKeyboardControl
: KBKeyClickPercent ( -- n ) 0 2^ ;
: KBBellPercent ( -- n ) 1 2^ ;
: KBBellPitch ( -- n ) 2 2^ ;
: KBBellDuration ( -- n ) 3 2^ ;
: KBLed ( -- n ) 4 2^ ;
: KBLedMode ( -- n ) 5 2^ ;
: KBKey ( -- n ) 6 2^ ;
: KBAutoRepeatMode ( -- n ) 7 2^ ;
: MappingSuccess 0 ;
: MappingBusy 1 ;
: MappingFailed 2 ;
: MappingModifier 0 ;
: MappingKeyboard 1 ;
: MappingPointer 2 ;
! *****************************************************************
! * SCREEN SAVER STUFF
! *****************************************************************
: DontPreferBlanking 0 ;
: PreferBlanking 1 ;
: DefaultBlanking 2 ;
: DisableScreenSaver 0 ;
: DisableScreenInterval 0 ;
: DontAllowExposures 0 ;
: AllowExposures 1 ;
: DefaultExposures 2 ;
! for ForceScreenSaver
: ScreenSaverReset 0 ;
: ScreenSaverActive 1 ;
! *****************************************************************
! * HOSTS AND CONNECTIONS
! *****************************************************************
! for ChangeHosts
: HostInsert 0 ;
: HostDelete 1 ;
! for ChangeAccessControl
: EnableAccess 1 ;
: DisableAccess 0 ;
! Display classes used in opening the connection
! Note that the statically allocated ones are even numbered and the
! dynamically changeable ones are odd numbered
: StaticGray 0 ;
: GrayScale 1 ;
: StaticColor 2 ;
: PseudoColor 3 ;
: TrueColor 4 ;
: DirectColor 5 ;
! Byte order used in imageByteOrder and bitmapBitOrder
: LSBFirst 0 ;
: MSBFirst 1 ;
! *****************************************************************
! * EXTENDED WINDOW MANAGER HINTS
! *****************************************************************
C-ENUM: _NET_WM_STATE_REMOVE _NET_WM_STATE_ADD _NET_WM_STATE_TOGGLE ;