factor/basis/x11/constants/constants.factor

412 lines
10 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.c-types alien.syntax math x11.xlib ;
IN: x11.constants
TYPEDEF: ulong Mask
TYPEDEF: uchar KeyCode
! Reserved Resource and Constant Definitions
CONSTANT: ParentRelative 1
CONSTANT: CopyFromParent 0
CONSTANT: PointerWindow 0
CONSTANT: InputFocus 1
CONSTANT: PointerRoot 1
CONSTANT: AnyPropertyType 0
CONSTANT: AnyKey 0
CONSTANT: AnyButton 0
CONSTANT: AllTemporary 0
CONSTANT: CurrentTime 0
CONSTANT: 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.
CONSTANT: ShiftMapIndex 0
CONSTANT: LockMapIndex 1
CONSTANT: ControlMapIndex 2
CONSTANT: Mod1MapIndex 3
CONSTANT: Mod2MapIndex 4
CONSTANT: Mod3MapIndex 5
CONSTANT: Mod4MapIndex 6
CONSTANT: 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
CONSTANT: NotifyNormal 0
CONSTANT: NotifyGrab 1
CONSTANT: NotifyUngrab 2
CONSTANT: NotifyWhileGrabbed 3
CONSTANT: NotifyHint 1 ! for MotionNotify events
! Notify detail
CONSTANT: NotifyAncestor 0
CONSTANT: NotifyVirtual 1
CONSTANT: NotifyInferior 2
CONSTANT: NotifyNonlinear 3
CONSTANT: NotifyNonlinearVirtual 4
CONSTANT: NotifyPointer 5
CONSTANT: NotifyPointerRoot 6
CONSTANT: NotifyDetailNone 7
! Visibility notify
CONSTANT: VisibilityUnobscured 0
CONSTANT: VisibilityPartiallyObscured 1
CONSTANT: VisibilityFullyObscured 2
! Circulation request
CONSTANT: PlaceOnTop 0
CONSTANT: PlaceOnBottom 1
! protocol families
CONSTANT: FamilyInternet 0 ! IPv4
CONSTANT: FamilyDECnet 1
CONSTANT: FamilyChaos 2
CONSTANT: FamilyInternet6 6 ! IPv6
! authentication families not tied to a specific protocol
CONSTANT: FamilyServerInterpreted 5
! Property notification
CONSTANT: PropertyNewValue 0
CONSTANT: PropertyDelete 1
! Color Map notification
CONSTANT: ColormapUninstalled 0
CONSTANT: ColormapInstalled 1
! GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes
CONSTANT: GrabModeSync 0
CONSTANT: GrabModeAsync 1
! GrabPointer, GrabKeyboard reply status
CONSTANT: GrabSuccess 0
CONSTANT: AlreadyGrabbed 1
CONSTANT: GrabInvalidTime 2
CONSTANT: GrabNotViewable 3
CONSTANT: GrabFrozen 4
! AllowEvents modes
CONSTANT: AsyncPointer 0
CONSTANT: SyncPointer 1
CONSTANT: ReplayPointer 2
CONSTANT: AsyncKeyboard 3
CONSTANT: SyncKeyboard 4
CONSTANT: ReplayKeyboard 5
CONSTANT: AsyncBoth 6
CONSTANT: SyncBoth 7
! Used in SetInputFocus, GetInputFocus
: RevertToNone ( -- n ) None ;
: RevertToPointerRoot ( -- n ) PointerRoot ;
CONSTANT: RevertToParent 2
! *****************************************************************
! * ERROR CODES
! *****************************************************************
CONSTANT: Success 0 ! everything's okay
CONSTANT: BadRequest 1 ! bad request code
CONSTANT: BadValue 2 ! int parameter out of range
CONSTANT: BadWindow 3 ! parameter not a Window
CONSTANT: BadPixmap 4 ! parameter not a Pixmap
CONSTANT: BadAtom 5 ! parameter not an Atom
CONSTANT: BadCursor 6 ! parameter not a Cursor
CONSTANT: BadFont 7 ! parameter not a Font
CONSTANT: BadMatch 8 ! parameter mismatch
CONSTANT: BadDrawable 9 ! parameter not a Pixmap or Window
CONSTANT: 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.
CONSTANT: BadAlloc 11 ! insufficient resources
CONSTANT: BadColor 12 ! no such colormap
CONSTANT: BadGC 13 ! parameter not a GC
CONSTANT: BadIDChoice 14 ! choice not in range or already used
CONSTANT: BadName 15 ! font or color name doesn't exist
CONSTANT: BadLength 16 ! Request length incorrect
CONSTANT: BadImplementation 17 ! server is defective
CONSTANT: FirstExtensionError 128
CONSTANT: LastExtensionError 255
! *****************************************************************
! * WINDOW DEFINITIONS
! *****************************************************************
! Window classes used by CreateWindow
! Note that CopyFromParent is already defined as 0 above
CONSTANT: InputOutput 1
CONSTANT: InputOnly 2
! Used in CreateWindow for backing-store hint
CONSTANT: NotUseful 0
CONSTANT: WhenMapped 1
CONSTANT: Always 2
! Used in ChangeSaveSet
CONSTANT: SetModeInsert 0
CONSTANT: SetModeDelete 1
! Used in ChangeCloseDownMode
CONSTANT: DestroyAll 0
CONSTANT: RetainPermanent 1
CONSTANT: RetainTemporary 2
! Window stacking method (in configureWindow)
CONSTANT: Above 0
CONSTANT: Below 1
CONSTANT: TopIf 2
CONSTANT: BottomIf 3
CONSTANT: Opposite 4
! Circulation direction
CONSTANT: RaiseLowest 0
CONSTANT: LowerHighest 1
! Property modes
CONSTANT: PropModeReplace 0
CONSTANT: PropModePrepend 1
CONSTANT: PropModeAppend 2
! *****************************************************************
! * GRAPHICS DEFINITIONS
! *****************************************************************
! LineStyle
CONSTANT: LineSolid 0
CONSTANT: LineOnOffDash 1
CONSTANT: LineDoubleDash 2
! capStyle
CONSTANT: CapNotLast 0
CONSTANT: CapButt 1
CONSTANT: CapRound 2
CONSTANT: CapProjecting 3
! joinStyle
CONSTANT: JoinMiter 0
CONSTANT: JoinRound 1
CONSTANT: JoinBevel 2
! fillStyle
CONSTANT: FillSolid 0
CONSTANT: FillTiled 1
CONSTANT: FillStippled 2
CONSTANT: FillOpaqueStippled 3
! fillRule
CONSTANT: EvenOddRule 0
CONSTANT: WindingRule 1
! subwindow mode
CONSTANT: ClipByChildren 0
CONSTANT: IncludeInferiors 1
! SetClipRectangles ordering
CONSTANT: Unsorted 0
CONSTANT: YSorted 1
CONSTANT: YXSorted 2
CONSTANT: YXBanded 3
! CoordinateMode for drawing routines
CONSTANT: CoordModeOrigin 0 ! relative to the origin
CONSTANT: CoordModePrevious 1 ! relative to previous point
! Polygon shapes
CONSTANT: Complex 0 ! paths may intersect
CONSTANT: Nonconvex 1 ! no paths intersect, but not convex
CONSTANT: Convex 2 ! wholly convex
! Arc modes for PolyFillArc
CONSTANT: ArcChord 0 ! join endpoints of arc
CONSTANT: ArcPieSlice 1 ! join endpoints to center of arc
! *****************************************************************
! * FONTS
! *****************************************************************
! used in QueryFont -- draw direction
CONSTANT: FontLeftToRight 0
CONSTANT: FontRightToLeft 1
CONSTANT: FontChange 255
! *****************************************************************
! * IMAGING
! *****************************************************************
! ImageFormat -- PutImage, GetImage
CONSTANT: XYBitmap 0 ! depth 1, XYFormat
CONSTANT: XYPixmap 1 ! depth == drawable depth
CONSTANT: ZPixmap 2 ! depth == drawable depth
! *****************************************************************
! * COLOR MAP STUFF
! *****************************************************************
! For CreateColormap
CONSTANT: AllocNone 0 ! create map with no entries
CONSTANT: 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
CONSTANT: CursorShape 0 ! largest size that can be displayed
CONSTANT: TileShape 1 ! size tiled fastest
CONSTANT: StippleShape 2 ! size stippled fastest
! *****************************************************************
! * KEYBOARD/POINTER STUFF
! *****************************************************************
CONSTANT: AutoRepeatModeOff 0
CONSTANT: AutoRepeatModeOn 1
CONSTANT: AutoRepeatModeDefault 2
CONSTANT: LedModeOff 0
CONSTANT: 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^ ;
CONSTANT: MappingSuccess 0
CONSTANT: MappingBusy 1
CONSTANT: MappingFailed 2
CONSTANT: MappingModifier 0
CONSTANT: MappingKeyboard 1
CONSTANT: MappingPointer 2
! *****************************************************************
! * SCREEN SAVER STUFF
! *****************************************************************
CONSTANT: DontPreferBlanking 0
CONSTANT: PreferBlanking 1
CONSTANT: DefaultBlanking 2
CONSTANT: DisableScreenSaver 0
CONSTANT: DisableScreenInterval 0
CONSTANT: DontAllowExposures 0
CONSTANT: AllowExposures 1
CONSTANT: DefaultExposures 2
! for ForceScreenSaver
CONSTANT: ScreenSaverReset 0
CONSTANT: ScreenSaverActive 1
! *****************************************************************
! * HOSTS AND CONNECTIONS
! *****************************************************************
! for ChangeHosts
CONSTANT: HostInsert 0
CONSTANT: HostDelete 1
! for ChangeAccessControl
CONSTANT: EnableAccess 1
CONSTANT: 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
CONSTANT: StaticGray 0
CONSTANT: GrayScale 1
CONSTANT: StaticColor 2
CONSTANT: PseudoColor 3
CONSTANT: TrueColor 4
CONSTANT: DirectColor 5
! Byte order used in imageByteOrder and bitmapBitOrder
CONSTANT: LSBFirst 0
CONSTANT: MSBFirst 1
! *****************************************************************
! * EXTENDED WINDOW MANAGER HINTS
! *****************************************************************
CONSTANT: _NET_WM_STATE_REMOVE 0
CONSTANT: _NET_WM_STATE_ADD 1
CONSTANT: _NET_WM_STATE_TOGGLE 2