SUPER-UX Xlib Programming Manual
Contents
Part 1: Xlib - C Language X Interface
Part 2: X11 Nonrectangular Window Shape Extension
Proprietary Notice
Acknowledgments
Documentation Log
Introduction
Part 1: Xlib - C Language X Interface
Authors
Chapter 1 Introduction to Xlib
- 1.1. Overview of the X Window System
- 1.2. Errors
- 1.3. Standard Header Files
- 1.4. Generic Values and Types
- 1.5. Naming and Argument Conventions within Xlib
- 1.6. Programming Considerations
- 1.7. Character Sets and Encodings
- 1.8. Formatting Conventions
Chapter 2 Display Functions
- 2.1. Opening the Display
- 2.2. Obtaining Information about the Display, Image Formats, or Screens
- 2.2.1. Display Macros
- 2.2.2. Image Format Functions and Macros
- 2.2.3. Screen Information Macros
- 2.3. Generating a NoOperation Protocol Request
- 2.4. Freeing Client-Created Data
- 2.5. Closing the Display
- 2.6. X Server Connection Close Operations
- 2.7. Using Xlib with Threads
- 2.8. Internal Connections
Chapter 3 Window Functions
- 3.1. Visual Types
- 3.2. Window Attributes
- 3.2.1. Background Attribute
- 3.2.2. Border Attribute
- 3.2.3. Gravity Attributes
- 3.2.4. Backing Store Attribute
- 3.2.5. Save Under Flag
- 3.2.6. Backing Planes and Backing Pixel Attributes
- 3.2.7. Event Mask and Do Not Propagate Mask Attributes
- 3.2.8. Override Redirect Flag
- 3.2.9. Colormap Attribute
- 3.2.10. Cursor Attribute
- 3.3. Creating Windows
- 3.4. Destroying Windows
- 3.5. Mapping Windows
- 3.6. Unmapping Windows
- 3.7. Configuring Windows
- 3.8. Changing Window Stacking Order
- 3.9. Changing Window Attributes
Chapter 4 Window Information Functions
- 4.1. Obtaining Window Information
- 4.2. Translating Screen Coordinates
- 4.3. Properties and Atoms
- 4.4. Obtaining and Changing Window Properties
- 4.5. Selections
Chapter 5 Pixmap and Cursor Functions
- 5.1. Creating and Freeing Pixmaps
- 5.2. Creating, Recoloring, and Freeing Cursors
Chapter 6 Color Management Functions
- 6.1. Color Structures
- 6.2. Color Strings
- 6.2.1. RGB Device String Specification
- 6.2.2. RGB Intensity String Specification
- 6.2.3. Device-Independent String Specifications
- 6.3. Color Conversion Contexts and Gamut Mapping
- 6.4. Creating, Copying, and Destroying Colormaps
- 6.5. Mapping Color Names to Values
- 6.6. Allocating and Freeing Color Cells
- 6.7. Modifying and Querying Colormap Cells
- 6.8. Color Conversion Context Functions
- 6.8.1. Getting and Setting the Color Conversion Context of a Colormap
- 6.8.2. Obtaining the Default Color Conversion Context
- 6.8.3. Color Conversion Context Macros
- 6.8.4. Modifying Attributes of a Color Conversion Context
- 6.9. Converting Between Color Spaces
- 6.10. Callback Functions
- 6.10.1. Prototype Gamut Compression Procedure
- 6.10.2. Supplied Gamut Compression Procedures
- 6.10.3. Prototype White Point Adjustment Procedure
- 6.10.4. Supplied White Point Adjustment Procedures
- 6.11. Gamut Querying Functions
- 6.11.1. Red, Green, and Blue Queries
- 6.11.2. CIELab Queries
- 6.11.3. CIELuv Queries
- 6.11.4. TekHVC Queries
- 6.12. Color Management Extensions
- 6.12.1. Color Spaces
- 6.12.2. Adding Device-Independent Color Spaces
- 6.12.3. Querying Color Space Format and Prefix
- 6.12.4. Creating Additional Color Spaces
- 6.12.5. Parse String Callback
- 6.12.6. Color Specification Conversion Callback
- 6.12.7. Function Sets
- 6.12.8. Adding Function Sets
- 6.12.9. Creating Additional Function Sets
Chapter 7 Graphics Context Functions
- 7.1. Manipulating Graphics Context/State
- 7.2. Using GC Convenience Routines
- 7.2.1. Setting the Foreground, Background, Function, or Plane Mask
- 7.2.2. Setting the Line Attributes and Dashes
- 7.2.3. Setting the Fill Style and Fill Rule
- 7.2.4. Setting the Fill Tile and Stipple
- 7.2.5. Setting the Current Font
- 7.2.6. Setting the Clip Region
- 7.2.7. Setting the Arc Mode, Subwindow Mode, and Graphics Exposure
Chapter 8 Graphics Functions
- 8.1. Clearing Areas
- 8.2. Copying Areas
- 8.3. Drawing Points, Lines, Rectangles, and Arcs
- 8.3.1. Drawing Single and Multiple Points
- 8.3.2. Drawing Single and Multiple Lines
- 8.3.3. Drawing Single and Multiple Rectangles
- 8.3.4. Drawing Single and Multiple Arcs
- 8.4. Filling Areas
- 8.4.1. Filling Single and Multiple Rectangles
- 8.4.2. Filling a Single Polygon
- 8.4.3. Filling Single and Multiple Arcs
- 8.5. Font Metrics
- 8.5.1. Loading and Freeing Fonts
- 8.5.2. Obtaining and Freeing Font Names and Information
- 8.5.3. Computing Character String Sizes
- 8.5.4. Computing Logical Extents
- 8.5.5. Querying Character String Sizes
- 8.6. Drawing Text
- 8.6.1. Drawing Complex Text
- 8.6.2. Drawing Text Characters
- 8.6.3. Drawing Image Text Characters
- 8.7. Transferring Images between Client and Server
Chapter 9 Window and Session Manager Functions
- 9.1. Changing the Parent of a Window
- 9.2. Controlling the Lifetime of a Window
- 9.3. Managing Installed Colormaps
- 9.4. Setting and Retrieving the Font Search Path
- 9.5. Server Grabbing
- 9.6. Killing Clients
- 9.7. Screen Saver Control
- 9.8. Controlling Host Access
- 9.8.1. Adding, Getting, or Removing Hosts
- 9.8.2. Changing, Enabling, or Disabling Access Control
Chapter 10 Events
- 10.1. Event Types
- 10.2. Event Structures
- 10.3. Event Masks
- 10.4. Event Processing Overview
- 10.5. Keyboard and Pointer Events
- 10.5.1. Pointer Button Events
- 10.5.2. Keyboard and Pointer Events
- 10.6. Window Entry/Exit Events
- 10.6.1. Normal Entry/Exit Events
- 10.6.2. Grab and Ungrab Entry/Exit Events
- 10.7. Input Focus Events
- 10.7.1. Normal Focus Events and Focus Events While Grabbed
- 10.7.2. Focus Events Generated by Grabs
- 10.8. Key Map State Notification Events
- 10.9. Exposure Events
- 10.9.1. Expose Events
- 10.9.2. GraphicsExpose and NoExpose Events
- 10.10. Window State Change Events
- 10.10.1. CirculateNotify Events
- 10.10.2. ConfigureNotify Events
- 10.10.3. CreateNotify Events
- 10.10.4. DestroyNotify Events
- 10.10.5. GravityNotify Events
- 10.10.6. MapNotify Events
- 10.10.7. MappingNotify Events
- 10.10.8. ReparentNotify Events
- 10.10.9. UnmapNotify Events
- 10.10.10. VisibilityNotify Events
- 10.11. Structure Control Events
- 10.11.1. CirculateRequest Events
- 10.11.2. ConfigureRequest Events
- 10.11.3. MapRequest Events
- 10.11.4. ResizeRequestEvents
- 10.12. Colormap State Change Events
- 10.13. Client Communication Events
- 10.13.1. ClientMessage Events
- 10.13.2. PropertyNotify Events
- 10.13.3. SelectionClear Events
- 10.13.4. SelectionRequest Events
- 10.13.5. SelectionNotify Events
Chapter 11 Event Handling Functions
- 11.1. Selecting Events
- 11.2. Handling the Output Buffer
- 11.3. Event Queue Management
- 11.4. Manipulating the Event Queue
- 11.4.1. Returning the Next Event
- 11.4.2. Selecting Events Using a Predicate Procedure
- 11.4.3. Selecting Events Using a Window or Event Mask
- 11.5. Putting an Event Back into the Queue
- 11.6. Sending Events to Other Applications
- 11.7. Getting Pointer Motion History
- 11.8. Handling Protocol Errors
- 11.8.1. Enabling or Disabling Synchronization
- 11.8.2. Using the Default Error Handlers
Chapter 12 Input Device Functions
- 12.1. Pointer Grabbing
- 12.2. Keyboard Grabbing
- 12.3. Resuming Event Processing
- 12.4. Moving the Pointer
- 12.5. Controlling Input Focus
- 12.6. Keyboard and Pointer Settings
- 12.7. Keyboard Encoding
Chapter 13 Locales and Internationalized Text Functions
- 13.1. X Locale Management
- 13.2. Locale and Modifier Dependencies
- 13.3. Variable Argument Lists
- 13.4. Output Method Overview
- 13.5. Output Method Functions
- 13.6. XOM Value Arguments
- 13.6.1. Required Char Set
- 13.6.2. Query Orientation
- 13.6.3. Directional Dependent Drawing
- 13.6.4. Context Dependent Drawing
- 13.7. Output Context Functions
- 13.8. XOC Value Arguments
- 13.8.1. Base Font Name
- 13.8.2. Missing CharSet
- 13.8.3. Default String
- 13.8.4. Orientation
- 13.8.5. Resource Name and Class
- 13.8.6. Font Info
- 13.8.7. OM Automatic
- 13.9. Creating and Freeing a Font Set
- 13.10. Obtaining Font Set Metrics
- 13.11. Drawing Text Using Font Sets
- 13.12. Input Method Overview
- 13.12.1. Input Method Architecture
- 13.12.2. Input Contexts
- 13.12.3. Getting Keyboard Input
- 13.12.4. Focus Management
- 13.12.5. Geometry Management
- 13.12.6. Event Filtering
- 13.12.7. Callbacks
- 13.12.8. Visible Position Feedback Masks
- 13.12.9. Preedit String Management
- 13.13. Input Method Management
- 13.13.1. Hot Keys
- 13.13.2. Preedit State Operation
- 13.14. Input Method Functions
- 13.15. XIM Value Arguments
- 13.15.1. Query Input Style
- 13.15.2. Resource Name and Class
- 13.15.3. Destroy Callback
- 13.15.4. Query IM and IC Values List
- 13.15.5. Visible Position
- 13.15.6. Preedit Callback Behavior
- 13.16. Input Context Functions
- 13.17. XIC Value Arguments
- 13.17.1. Input Style
- 13.17.2. Client Window
- 13.17.3. Focus Window
- 13.17.4. Resource Name and Class
- 13.17.5. Geometry Callback
- 13.17.6. Filter Events
- 13.17.7. Destroy Callback
- 13.17.8. String Conversion Callback
- 13.17.9. String Conversion
- 13.17.10. ResetState
- 13.17.11. Hot Keys
- 13.17.12. Hot Key State
- 13.17.13. Preedit and Status Attributes
- 13.17.13.1. Area
- 13.17.13.2. Area Needed
- 13.17.13.3. Spot Location
- 13.17.13.4. Colormap
- 13.17.13.5. Foreground and Background
- 13.17.13.6. Background Pixmap
- 13.17.13.7. Font Set
- 13.17.13.8. Line Spacing
- 13.17.13.9. Cursor
- 13.17.13.10. Preedit State
- 13.17.13.11. Preedit and Status Callbacks
- 13.18. XIM Callback Semantics
- 13.18.1. Geometry Callback
- 13.18.2. Preedit State Notify Callback
- 13.18.3. Destroy Callback
- 13.18.4. String Conversion Callback
- 13.18.5. Preedit State Callbacks
- 13.18.6. Preedit Draw Callback
- 13.18.7. Preedit Caret Callback
- 13.18.8. Status Callbacks
- 13.19. Event Filtering
- 13.20. Getting Keyboard Input
- 13.21. Input Method Conventions
- 13.21.1. Client Conventions
- 13.21.2. Synchronization Conventions
- 13.22. String Constants
Chapter 14 Inter-Client Communication Functions
- 14.1. Client to Window Manager Communication
- 14.1.1. Manipulating Top-Level Windows
- 14.1.2. Converting String Lists
- 14.1.3. Setting and Reading Text Properties
- 14.1.4. Setting and Reading the WM_NAME Property
- 14.1.5. Setting and Reading the WM_ICON_NAME Property
- 14.1.6. Setting and Reading the WM_HINTS Property
- 14.1.7. Setting and Reading the WM_NORMAL_HINTS Property
- 14.1.8. Setting and Reading the WM_CLASS Property
- 14.1.9. Setting and Reading the WM_TRANSIENT_FOR Property
- 14.1.10. Setting and Reading the WM_PROTOCOLS Property
- 14.1.11. Setting and Reading the WM_COLORMAP_WINDOWS Property
- 14.1.12. Setting and Reading the WM_ICON_SIZE Property
- 14.1.13. Using Window Manager Convenience Functions
- 14.2. Client to Session Manager Communication
- 14.2.1. Setting and Reading the WM_COMMAND Property
- 14.2.2. Setting and Reading the WM_CLIENT_MACHINE Property
- 14.3. Standard Colormaps
- 14.3.1. Standard Colormap Properties and Atoms
- 14.3.2. Setting and Obtaining Standard Colormaps
Chapter 15 Resource Manager Functions
- 15.1. Resource File Syntax
- 15.2. Resource Manager Matching Rules
- 15.3. Quarks
- 15.4. Creating and Storing Databases
- 15.5. Merging Resource Databases
- 15.6. Looking Up Resources
- 15.7. Storing Into a Resource Database
- 15.8. Enumerating Database Entries
- 15.9. Parsing Command Line Options
Chapter 16 Application Utility Functions
- 16.1. Keyboard Utility Functions
- 16.1.1. KeySym Classification Macros
- 16.2. Latin-1 Keyboard Event Functions
- 16.3. Allocating Permanent Storage
- 16.4. Parsing the Window Geometry
- 16.5. Manipulating Regions
- 16.5.1. Creating, Copying, or Destroying Regions
- 16.5.2. Moving or Shrinking Regions
- 16.5.3. Computing with Regions
- 16.5.4. Determining if Regions Are Empty or Equal
- 16.5.5. Locating a Point or a Rectangle in a Region
- 16.6. Using Cut Buffers
- 16.7. Determining the Appropriate Visual Type
- 16.8. Manipulating Images
- 16.9. Manipulating Bitmaps
- 16.10. Using the Context Manager
Appendix A Xlib Functions and Protocol Requests
Appendix B X Font Cursors
Appendix C Extensions
Appendix D Compatibility Functions
Glossary
Index
Part 2: X11 Nonrectangular Window Shape Extension
Part 1: Xlib - C Language X Interface
- Authors
- 1. Overview
- 2. Description
- 3. Types
- 4. Requests
- 5. Events
- 6. Encoding
- 7. C language Binding
- 8. Glossary